正则表达式-删除模式前面的空格



我有文本作为

Bla ~ cite{} and Bla1 ~ ref{} and Equation in ~ eqref{}.

并且我想要去除CCD_ 1和CCD_。因此,上面的线,应该看起来像:

Bla ~cite{} and Bla1 ~ref{} and Equation in ~eqref{}.

我尝试了以下注册表达式%s:(|~):(~):gce

但它用CCD_ 4替换了空的空间。有什么修复建议吗?

您可以使用

:%s/v(~)s+(\)/12/g

这里,

  • v启用非常神奇的模式
  • (~)-组1:~字符
  • s+-一个或多个空白
  • (\)-第2组:~0字符
  • 12-替换为第1组+第2组值
  • g-多次出现

我刚刚在vim中进行了验证,您只需要确保在模式和替换中禁用~的特殊含义:

:%s/~ \/~\/g

将在任何地方用~替换~ 而不留空间。

使用vim开始匹配zs

:%s/~zs //g

这意味着vim将考虑~之后的所有内容作为替换模式,在我们的例子中是空间。当我们使用g标志时,vim将更改行中的所有出现。

使用vim开始匹配zs

:%s/~zs //g

这意味着vim将考虑0之后的所有内容作为替换模式,在我们的例子中是空间。

最新更新