gpt4 book ai didi

Java用另一个定界符替换特定位置定界符

转载 作者:搜寻专家 更新时间:2023-11-01 01:20:57 25 4
gpt4 key购买 nike

鉴于这一行:

String name="Summer,John,Alex,Stu,Mike,will,King,yahoo,Google,jeff";

我想在逗号出现 4 次后用 || 符号替换逗号。

预期输出:

Summer,John,Alex,Stu||Mike,will,King,yahoo||Google,jeff

我在 awk 命令中完成了这个

awk -F, '{
for (i=1; i<NF; i++)
printf "%s%s", $i, (i%4?FS:"||");
print $i
}'

我无法将此命令转换为 java 正则表达式。

最佳答案

你可以试试这个,

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 组

编辑:

what if i want to replace 100th position? do i need to use 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||"));

关于Java用另一个定界符替换特定位置定界符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32218885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com