正则表达式删除字母之间的空格

Regular Expression remove whitespace between letters

我的 html 不知何故搞砸了,我所有的 html 现在看起来像这样,每个字符之间有一个空格

< d i v  c l a s s = " c o l - x s - 1 2   c o l - s m - 6 " >                               
< d i v  c l a s s = " f o r m - g r o u p   c o l - x s - 1 2 "> 
< d i v  c l a s s = " r a d i o "> 
< l a b e l  c l a s s = " r a d i o - l a b e l  "> 

2000多行代码。我需要像这样回去

<div class = "col-xs-12 col-sm-6">                               
<div class = "form-group col-xs-12" > 
<div class = "radio" > 
<label class = "radio-label" > 

我可以在 notepad++ 中使用什么正则表达式来解决这个问题?

Notepad++ 不支持非常高级的正则表达式。最好的办法是进行查找和替换,用页面中没有出现的特殊字符替换两个连续的 space,例如 ~.

< d i v~c l a s s = " c o l - x s - 1 2~ c o l - s m - 6 " >~ 
< d i v~c l a s s = " f o r m - g r o u p~ c o l - x s - 1 2 "> 
< d i v~c l a s s = " r a d i o "> 
< l a b e l~c l a s s = " r a d i o - l a b e l~"> 

现在,您可以将所有 space 替换为空字符串以将其删除:

<div~class="col-xs-12~col-sm-6">~
<div~class="form-group~col-xs-12">
<div~class="radio">
<label~class="radio-label~">

我们现在必须用 space 替换特殊字符 (~),我们完成了:

<div class="col-xs-12 col-sm-6"> 
<div class="form-group col-xs-12">
<div class="radio">
<label class="radio-label ">

既然你提到你有 Visual Studio,如果你有 Visual Studio 这实际上更容易解决,因为你可以使用更高级的正则表达式:查找 (\S)\s(.)\s 并替换为 </code>.</p> <p>如果您安装了 TextFX 插件,您可以 运行 通过 <code>TextFX -> TextFX Quick -> Find/Replace 在 notepad++ 中使用相当复杂的正则表达式。您可以 运行 (\S)\s(.)\s 作为表达式来查找和使用 进行替换。

怎么样:

查找内容:(?<=\S)\s(?=\S)
替换为:NOTHING

这将替换两个非 space 之间的每个 space \s \S

(?<=\S) 是积极的回顾
(?=\S) 是正向预测