Sublime 3多个替换空格和下划线

时间:2015-09-05 08:10:27

标签: regex sublimetext

在我的html页面中,我在标签内部有很多字符串。 喜欢

<p>Some string 1</p>
<p>Some string 2</p>
<p>Any string 3</p>

我需要将它们全部放在属性TRANSLATE中,小写它们并将所有空格替换为字符串内的下划线。

所以我用holded CTRL多选全部,然后按Ctrl + K,ctrl + L使它们小写,CTRL + x - 擦除,两个左箭头用于进入内部标签,写入翻译=&#34; PASTE HERE&#34 ;

现在我有了

<p translate="some string 1"></p>
<p translate="some string 2"></p>
<p translate="any string 3"></p>

下一步 - 我需要制作下划线而不是空格。

要查找所有翻译字符串,我使用正则表达式(?s)translate =&#34;。+?&#34; 但如何更换?帮助

2 个答案:

答案 0 :(得分:2)

输入ctrl + H,然后输入

使用negative-lookbehind搜索前面没有p的空格。

(?<!p)\h+

\h仅匹配水平空格。

现在replace-all_

答案 1 :(得分:0)

这很简单,但比寻找更聪明的答案更有效,也更快。

找到这个:translate="(.*) (.*)"

替换为:translate="\1_\2"

继续使用Replace All,直到所有不需要的空格都是下划线(在您给出的示例中,两次)。