通过正则表达式处理'#'

时间:2011-06-13 16:11:07

标签: c# regex twitter

快速提问,我一直在尝试匹配字符串列表中包含'#'的任何单词并将其删除,但我不知道如何处理它。试图在http://regexhero.net/tester/上玩,但无济于事。

基本上如果遇到#ff或者wha #s up我将只是regex.replace他们。

有关正则表达式的任何想法吗?。

感谢。

3 个答案:

答案 0 :(得分:2)

不要使用正则表达式 - 只需使用string.replace - 它的速度要快得多。

答案 1 :(得分:0)

因此,您要删除包含#的所有字词?

如果是这样,试一试......

\w*#\w*

并且没有替换,就像这样......

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

apple# orange ban#ana变为orange


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

答案 2 :(得分:0)

我有一个previous answer,涵盖了一些标签匹配方法。

总之,如果您从Twitter中提取包含主题标签的状态,则不再需要自己找到它们。您现在可以指定 include_entities 参数,让Twitter自动调出提及,链接和主题标签(如果您调用的方法,如statuses/show支持此参数。

如果您只需要正则表达式来定位主题标签并捕获它的元素,Twitter就会在open source library中提供它,其中包含以下模式。

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

原始答案中提供了更多详细信息和其他链接。