如何仅替换部分引号并保留所有内容,请参阅下面的示例
<type>"sample"<type>
<content>R.A.H.M.A.N. sample text."</content>
到
<type>"sample"<type>
<content>R.A.H.M.A.N. sample text.</content>
仅替换content
标记内的引号,是否可以?
答案 0 :(得分:0)
如果所有<content>
标记都在一行上,您可以使用:g
命令:
:g=<content>.*</content>=s="==g
这将替换包含打开和关闭<content>
标记的所有行的所有引号。 (这并不一定意味着这些引号位于<content>
标记内。)
请参阅:help global。
答案 1 :(得分:0)
:%s!<content>\zs\_.\{-}\ze</content>!\=substitute(submatch(0), '"', '', 'g')!g
这个想法是:
:%s!...!...!g
<content>
,然后搜索0个或更多字符(尽可能少),然后搜索</content>
:`_。{ - } <content>
之后和匹配结束之前设置匹配的开始</content>
:<content>\zs...\ze</content>
<content>
和</content>
部分本身,只会替换内容。\=
substitute(submatch(0), '"', '', 'g')
:
submatch(0)
"
并将其替换为空:substitute(..., '"', '', 'g')