Chinaunix
标题:
关于VIM正则表达式替换的问题
[打印本页]
作者:
zrp999
时间:
2010-03-26 15:16
标题:
关于VIM正则表达式替换的问题
各位好,在工作中遇到一些VIM问题,本人这方面初学所以技术层面薄弱,想请教以下问题:
'"脊髓减压','植骨术"'
如何在全文替换成:
'脊髓减压,植骨术'
大家给出答案的话麻烦解释下,万分感谢。
作者:
blackold
时间:
2010-03-26 15:18
不知道你的具体情况。
:%s/'"脊髓减压','植骨术"'/'脊髓减压,植骨术'/g
外科?
作者:
zrp999
时间:
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');
作者:
blackold
时间:
2010-03-26 15:47
中文问题涉及到编码问题。
你可以试试:
:%s/\([^\x00-\x7f]\)','\([^\x00-\x7f]\)/\1,\2/g
作者:
zrp999
时间:
2010-03-26 16:40
我刚执行了您给的表达式,替换可以执行,但结果和原来的一样,我换个角度描述一下,假如有以下字符串:
"您好','黑哥"
需要替换为:
"您好,黑哥"
作者:
blackold
时间:
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
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2