【问题标题】:Sublime 3 multiple replace spaces with underscoresSublime 3 多个用下划线替换空格
【发布时间】:2015-09-05 08:10:27
【问题描述】:

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

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

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

所以我按住 CTRL 多选所有这些,然后 ctrl+K,ctrl+L 将它们变为小写,CTRL+x - 擦除,两个左箭头用于进入标签,写 translate="PASTE HERE"

现在我有

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

下一步 - 我需要使用下划线而不是空格。

要查找所有翻译字符串,我使用正则表达式 (?s)translate=".+?" 但是怎么换?帮助。

【问题讨论】:

  • 你试过this吗?

标签: regex sublimetext


【解决方案1】:

输入ctrl + H,然后

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

(?<!p)\h+

\h 只匹配水平空格。

现在将replace-all_ 联系起来。

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

    • 只有最后一个空格替换为下划线
    • 这是什么意思?在按照我的建议覆盖所有空间之前,您是否一直使用Replace All?还是你想说点别的?
    猜你喜欢
    • 2011-07-12
    • 2020-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多