gpt4 book ai didi

regex - 在 vim 中重复替换模式次数

转载 作者:行者123 更新时间:2023-12-01 13:29:19 25 4
gpt4 key购买 nike

我想在 vim 中执行以下操作。

  • a,2替换为a@,a@
  • b,3替换为b@,b@,b@
  • c,6 替换为 c@,c@,c@,c@,c@,c@等等

最佳答案

这是功能强大的 :help sub-replace-expression 的另一种情况:

:%s/\(\w\),\(\d\+\)/\=join(repeat([submatch(1) . '@'], submatch(2)), ',')/g

这匹配一个 word 字符 (\w) 后跟 , 和一个数字,将 @ 附加到每个匹配的单词字符 (submatch(1) . '@),将其转换为 List ([...]),将根据匹配的数字(repeat())列出元素,然后join()返回一个,分隔的字符串,即用作替代品。

这是基于你的例子;您需要根据您的特定需求调整模式。

关于regex - 在 vim 中重复替换模式次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29649065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com