免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3132 | 回复: 5

关于VIM正则表达式替换的问题 [复制链接]

论坛徽章:
0
发表于 2010-03-26 15:16 |显示全部楼层
各位好,在工作中遇到一些VIM问题,本人这方面初学所以技术层面薄弱,想请教以下问题:

'"脊髓减压','植骨术"'

如何在全文替换成:

'脊髓减压,植骨术'

大家给出答案的话麻烦解释下,万分感谢。

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
发表于 2010-03-26 15:18 |显示全部楼层
不知道你的具体情况。
:%s/'"脊髓减压','植骨术"'/'脊髓减压,植骨术'/g

外科?

论坛徽章:
0
发表于 2010-03-26 15:34 |显示全部楼层
谢谢楼上,我没把问题说请楚,在替换时 脊髓减压,植骨术 中文字体不确定,只知道这些描述中间可能有一个逗号,目前这个逗号替换成',' 把一条插入的SQL分隔成2个字段,所以想把每一行中文中包含','的都替换成逗号,例如
values(t_dvr_coderecords_seq.nextval,'神经系统手术','01.248','"颅内减压','小脑扁桃体复位术"','303');

结果:

values(t_dvr_coderecords_seq.nextval,'神经系统手术','01.248','颅内减压,小脑扁桃体复位术','303');

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
发表于 2010-03-26 15:47 |显示全部楼层
中文问题涉及到编码问题。

你可以试试:
:%s/\([^\x00-\x7f]\)','\([^\x00-\x7f]\)/\1,\2/g

论坛徽章:
0
发表于 2010-03-26 16:40 |显示全部楼层
我刚执行了您给的表达式,替换可以执行,但结果和原来的一样,我换个角度描述一下,假如有以下字符串:

"您好','黑哥"

需要替换为:

"您好,黑哥"

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
发表于 2010-03-26 17:18 |显示全部楼层
本帖最后由 blackold 于 2010-03-26 17:21 编辑

回复 5# zrp999


    是什么环境啊?
    我刚才测试过了,对于你给出的文本是可行的。

你也可以试试:
:%s/\([^0-9A-Za-z]\)','\([^0-9A-Za-z]\)/\1,\2/g
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP