如何在RegEx中删除包含特定字符的单词?

时间:2013-10-24 17:54:47

标签: regex

使用Notepad ++使用正则表达式查找和替换功能,我希望删除附加了数字符号(#)的每个单词,特别是在我的情况下单词的开头。

例如,我该怎么做:

  

#7kfe狗喜欢#9kea吃披萨

成:

  

狗喜欢吃披萨

非常感谢任何帮助。谢谢。

4 个答案:

答案 0 :(得分:3)

使用正则表达式查找和替换的大多数编辑器的工作方式类似......在“查找”字段中查找#\w*并在替换字段中使用(空字符串) 。这将留下双倍空格(在你的单词之前的空间和在你的单词之后的空间)...你可以将上面的表达式调整为#\w* ?之类的东西(这样空格是可选的,以防万一有问题的单词是该行的最后一个单词),或者您可以进行第二次搜索和替换,将多个空格折叠成一个。

答案 1 :(得分:2)

大多数其他回复会为您提供以#开头的单词,这似乎是您想要的,但是为了满足您在OP中的问题(“特别是在开头”),将选择#中的每个单词(任何地方):

/(\w*#\w+|\w+#\w*)/

DEMO

答案 2 :(得分:1)

查找:(\W)#\w+

替换:\1

(显然也将其设置为正则表达式模式)

\W查找非单词字符,以确保#位于单词的开头。替换中的\1会使该角色回归。

答案 3 :(得分:0)

#\w*

使用此正则表达式。

将匹配#

之后的每个字词