正则表达式替换href中的空格

时间:2014-12-08 14:46:29

标签: regex replace atom-editor

我在Atom中打开了一个HTML文件,其中包含很多链接。

我想用下划线替换所有空格。但只有href=""内的空格!

我设法写了一个似乎找到正确事件的正则表达式搜索:

href="(.)+ (.)+"

现在的问题是写一个替换字符串来替换空格。

1 个答案:

答案 0 :(得分:2)

简单使用类似:

href.replace(/\s/g, "_");

\ s是所有空白字符(空格,回车符,换行符,制表符)的别名

编辑:抱歉我之前没有回答过,但我只能给你一个答案,它只会替换href中最后一次出现的空格,必须在替换所有按钮上多次点击才能替换所有带下划线的空间。我刚刚安装了原子来发现它的正则表达式。

搜索:

href=\"([^"]*)(\s)(.*)\"

替换为:

href="$1_$3"

使用以下代码进行测试:

<html>
  <head>
    <script type="text/javascript" src="somewhere/in another/dir.js">&#160;</script>
  </head>
  <body>
    <p>
      <a href="first link.pdf">1st link</a>
      <a href="my/second  link.html">2nd link</a>
      <a href=" a third/one just to comfirm/that  it works well link.html">3rd link</a>
    </p>
  </body>
</html>

首次应用它将产生以下代码:

<html>
  <head>
    <script type="text/javascript" src="somewhere/in another/dir.js">&#160;</script>
  </head>
  <body>
    <p>
      <a href="first_link.pdf">1st link</a>
      <a href="my/second _link.html">2nd link</a>
      <a href=" a third/one just to comfirm/that  it works well_link.html">3rd link</a>
    </p>
  </body>
</html>

但是,如果您接受更改编辑器以进行此替换,则可以执行所有操作。可以使用sed或awk在一次执行中轻松替换。