notepad ++在字符之间的空格中添加字符

时间:2017-10-17 16:38:52

标签: regex notepad++

我正在尝试在当前有空格的单词之间添加短划线,即

  

这是一个测试

     

变为

     

此-is-a的测试

我知道它很可能需要正则表达式,但不知道如何在记事本++中格式化它

2 个答案:

答案 0 :(得分:1)

您可以使用外观来检查这些条件,例如由

(?<=[A-Za-z]) (?=[A-Za-z])

然后只需将其替换为-即可。如果必须考虑多个后果空间,您也可以使用 +。如果您还考虑标签,则可以使用\h来匹配所有类型的水平空格。

如果您必须考虑所有unicode字母,请使用[[:alpha:]]代替[A-Za-z]

如果要使用单个替换操作而不是使用全部替换来执行替换,则必须将其中一个外观变为捕获组 - 例如([A-Za-z]) (?=[A-Za-z])并替换为\1-

答案 1 :(得分:1)

<强>更新

在NotePad ++的替换对话框中,

找到:(.)\b \b(捕获的角色,单词边界,单个空格,单词边界)

替换为:\1-(放回字符,用连字符替换空格)

这适用于“替换”和“替换”。和&#39;全部替换&#39;。