用于替换引号内空格的vim正则表达式
发布时间:2020-12-16 01:21:23 所属栏目:安全 来源:网络整理
导读:我有以下格式的文字: ERR_OUT_OF_MEM,"ERR OUT OF MEM"ERR_SOMETHING_BAD,"ERR SOMETHING BAD" 我想用下划线替换文本中带引号的所有空格: ERR_OUT_OF_MEM,"ERR_OUT_OF_MEM" ERR_SOMETHING_BAD,"ERR_SOMETHING_BAD" 我能想出的最好的正则表达式是: ("w+
我有以下格式的文字:
ERR_OUT_OF_MEM,"ERR OUT OF MEM" ERR_SOMETHING_BAD,"ERR SOMETHING BAD" 我想用下划线替换文本中带引号的所有空格: ERR_OUT_OF_MEM,"ERR_OUT_OF_MEM" ERR_SOMETHING_BAD,"ERR_SOMETHING_BAD" 我能想出的最好的正则表达式是: ("w+)@<= (那里有一个空间) 但这只能找到每个引用字符串中的第一个空格,我需要多次重复这个空格才能获得所需的效果. 有什么方法可以一次性完成吗? 谢谢!
肯定有一个0长度模式可以一次通过,但由于我从未使用它们取得太大成功,我更喜欢这种方法:
:%s/%("[^"]*")*("[^"]*")/=substitute(submatch(1),' ','_','g')/g 注意:双引号保持2对2分组,以便不进行转换 foo bar "foo bar" "foo barr" 成 foo bar "foo_bar"_"foo_barr" 编辑:正如猖獗指出的那样,以下绰绰有余: %s/"[^"]*"/=substitute(submatch(0),'g')/g (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- org/sonatype/nexus/bootstrap/jsw/JswLauncher (Unsupport
- 用’j’和’k’导航的vim字完成
- 如何使用vim,sed或其他类似工具在一个大文件(100万行)中连续
- Angular企业级开发(7)-MVC之控制器
- Angular 2提供的参数与调用目标的任何签名都不匹配(spec.ts
- angularjs – 我怎么期望不发出HTTP请求?
- BootStrap Table后台分页时前台删除最后一页所有数据refres
- Scala:使用StandardTokenParser解析十六进制数字
- Sencha Touch 2.x 课程内容
- angularjs – 为什么ngIf的优先级高于{{}}(插值)?