我一直在尝试以简单的方式搜索和替换正则表达式和捕获组,但不知道如何。
让我们说我想对上一句话进行操作"尝试"并替换为" t y y g"。
:%s/\vtrying{-}/ \1/g
答案 0 :(得分:4)
只做两场替补比赛。第二个使用带有表达式(\=
替换开头的替代{/ 1}}
:h sub-replace-expression
表达式只是在每个单词字符之间插入一个空格。
答案 1 :(得分:4)
你有一个解决方案,但这里有一个不同的解决方案:
%s/trying/\=join(split(submatch(0),'\zs'), ' ')/g
这应该比substitute()调用快一点,而不是这很重要。
答案 2 :(得分:0)
我一直在尝试使用正则表达式和捕获组进行搜索和替换 以一种简单的方式,但不知道如何。
让我们说我想对前一句话进行操作 "试图"并替换为" t y y g"。
:g~trying~exe "norm /trying^Mve^[" | s/\%V\(.\)/\1 /g
(CTRL-Q Enter输入^M
的位置,^[
为CTRL-Q Esc)
我一直在搜索和替换正则表达式和捕获 以简单的方式分组,但不知道如何。
让我们说我想对前一句话进行操作" t y y 我和#34;并替换为" t y y g"。
注意,我认为这只适用于尝试'在一条线上。
g
全局命令与“尝试'在其中,然后运行'执行'正常的'命令跳转到它,目视选择它,然后|将另一个命令与字符和空格分开,该命令用于搜索和替换\%V
视觉选择中的任何字符。
它最后还增加了一个空格。
总而言之,它不如@ FDinoff的答案好。