是否可以在我的代码中转换以下字符串的出现次数:
foo(a,d);
到
foo(a) = d;
答案 0 :(得分:3)
在Vim中,你可以使用这样的替换命令:
:%s/\v(\w+)\((\w+),(\w+)\)/\1(\2) = \3/g
这将查找表单func(arg1,arg2);
并转换为func(arg1) = arg2;
我在此表达式中使用\v
,以便Vim使用very magic
模式,这使得它更接近标准的Perl RegEx表示法。 (参见@ FDinoff的评论,以显示没有它的可读性有多少)
答案 1 :(得分:1)
可以使用sed
sed 's:\(\w\+\W\w\+\)\(,\)\(\w\+\)\();\):\1)=\3;:g' < $file > $OutFile