如果没有空格,我正在尝试在冒号和字符或数字之间添加空格:
this is my sentence:hi it's midnight
this is my sentence:2012 was a good year.
this sentence should be ignored: ignore me
我希望它能读到:
this is my sentence: hi it's midnight
this is my sentence: 2012 was a good year.
this sentence should be ignored: ignore me
我试过这个没有成功。 Regex to insert space in vim
我可以使用它来获取“:X”或“:0”(它与冒号后的空格不匹配,这很好):
:[^\s]
但如果我换成:
: $0
最终结果如下:
this is my sentence: :hi it's midnight
this is my sentence: :2012 was a good year.
我正在使用http://www.gskinner.com/RegExr/来测试模式。
我将使用PHP preg_replace函数
非常感谢任何帮助。 提前谢谢。
答案 0 :(得分:6)
您只需将:\s*
替换为:<pretend this is a space>
:
preg_replace('/:\s*/', ': ', $text)
:\s*
匹配:
后跟任意数量的空格(或没有空格)。
答案 1 :(得分:1)
以下是在VIM中发布的两个替换命令:
%s/:/:<space>/g
%s/:<space><space>/:<space>/g
当然,这是一种过度杀伤,也就是说,要发出的命令数量是两个,而不是一个。
这是二合一命令:
:%s/:<space>*/:<space>/g
<space>
用于使其更清晰,因为按空格键插入的空格不可打印。
另一种解决空间不可印刷性的方法:
:%s/:\s*/:<space>/g