在一个长文件中,在Notepad ++中使用正则表达式,我想用连字号{替换(用列
Tags:
)之后的:
(空格)的所有出现{1}},还删除逗号#
。
例如:
,
应成为
word1 word2 word3 Tags: communication, inspirational, love, relationships
答案 0 :(得分:1)
此正则表达式将执行您想要的操作:
(\s+Tags:\s+|(?<!^|$)\G)\s*,?\s*(\w+)
第一部分(\s+Tags:\s+|(?<!^|$)\G)
查找单词Tags:
或上一个匹配项的开头(\G
),其中不能在行的开头或结尾({ {1}})。第二部分寻找一个单词,其前面是一个可选的逗号和一些空格。
在记事本中,打开“替换”对话框,选择(?<!^|$)
和Wrap around
,然后用字符串Regular expression
(这是一个空格,后跟#\2
,然后是字符串)进行替换。通过#
)。
选择\2
。
样本输入:
Replace All
更换后:
word1 word2 word3 Tags: communication, inspirational, love, relationships
word4 word5 word6 Tags: single, mother, blue, sunny
更新
如果您想在单词中使用特殊字符(例如word1 word2 word3 #communication #inspirational #love #relationships
word4 word5 word6 #single #mother #blue #sunny
),请将正则表达式中的-
更改为例如\w
。要允许单词中的任何字符,请将正则表达式中的[\w-]
更改为\w
。
更新2
由于在\S
之前可能没有空白行,因此有必要将Tags:
之前的\s+
更改为Tags:
。即
\b