Java用另一个分隔符替换特定定位的分隔符

时间:2015-08-26 05:49:53

标签: java regex string

鉴于这一行:

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正则表达式。

1 个答案:

答案 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||"));