鉴于这一行:
String name="Summer,John,Alex,Stu,Mike,will,King,yahoo,Google,jeff";
我想在每第4次出现逗号后用逗号替换逗号。
预期产出:
||
我在Summer,John,Alex,Stu||Mike,will,King,yahoo||Google,jeff
命令
awk
我无法将此命令转换为java正则表达式。
答案 0 :(得分:11)
你可以试试这个,
String name="Summer,John,Alex,Stu,Mike,will,King,yahoo,Google,jeff";
System.out.println(name.replaceAll("(\\w+,\\w+,\\w+,\\w+),", "$1||"));
<强>输出强>
Summer,John,Alex,Stu||Mike,will,King,yahoo||Google,jeff
注意: \\w+
表示一个或多个单词字符,$1
表示第1组
编辑:
如果我想替换第100个位置怎么办?我需要使用100 \ w +?
你真的不能在这里再次使用分组并指定{}
组的出现次数,例如,
String name="Summer,John,Alex,Stu,Mike,will,King,yahoo,Google,jeff,test,hell,";
System.out.println(name.replaceAll("((\\w+,){3}(\\w+)),", "$1||"));