2011-06-13 93 views
0

快速的问题,我一直试图从字符串列表中匹配任何包含'#'的单词并删除它,但我不知道如何处理它。一直试图在http://regexhero.net/tester/尝试,但无济于事。通过正则表达式处理'#'

本质上,如果碰到#ff或wha#s up,我只会regex.replace它们。

正则表达式的任何想法使用?

谢谢。

+0

你忘了解释输入的模样(名单的话?的字符串?),以及输出应该是什么样子。 – Kobi 2011-06-13 19:59:26

回答

0

我有一个previous answer,涵盖了一些hashtag匹配方法。总而言之,如果您要从Twitter推出包含#标签的状态,则不再需要自己找到它们。现在,您可以指定include_entities参数有Twitter的自动调出提到,链接和主题标签(如果要调用,如statuses/show方法支持该参数。

如果你只需要正则表达式来定位主题标签并捕获它的元素,微博中包含以下模式的open source library提供它。在原来的答案提供

(^|[^0-9A-Z&/]+)(#|\uFF03)([0-9A-Z_]*[A-Z_]+[a-z0-9_\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff]*) 

更多细节和附加链接。

2

不要使用正则表达式 - 只是使用string.replace - 它快很多。

0

所以你试图删除任何包含#的单词?

如果是的话,试试这个...

\w*#\w* 

而且什么也没有更换,像这样......

http://regexhero.net/tester/?id=cda1e713-bdab-4aa2-b63d-a87e9b2c9bce

apple# orange ban#ana成为orange


但是,如果你只是想删除#的所有实例,则String.Replace是更好的选择。 myString = myString.Replace("#", "");