求助 中文搜索问题
vim吧
全部回复
仅看楼主
level 1
cindyhelex 楼主
实在找不到答案了,特求各位解决一下。
要处理内容:
=======================
【3月3日】啊不错的风景,xx,不错的风景
【3月12日】淡淡的淡淡的发发发发发,xx,啊啊啊啊啊啊啊宝贝宝贝
【3月31日】麻烦就看看,谢谢,xx,开阶立极;就;就;
问题:
想将每行中的‘xx’替换成每行开头‘【3月X日】’的内容。
我的思路如下,但不知道怎么实现?
先搜索符合‘【】’内容,然后放到一个变量或寄存器内,再用替换命令。

2012年03月27日 13点03分 1
level 14
:%s /\(【.\+】\)\(.\+\)xx/\1\2\1/g
2012年03月28日 05点03分 2
level 1
cindyhelex 楼主
谢谢VimMSF。
通过指定内容来替换是个好思路,但是如果一行中有多个xx呢,如何替换?谢谢
2012年03月28日 09点03分 3
level 14
:%s/\<xx\>/\=matchstr(getline('.'), '【.\+】')/g
2012年03月28日 13点03分 4
level 7
:perldo $date.=$1 if /(【.*?】)/;s/xx/$date/ge;$date=" ";
2012年04月30日 03点04分 5
1