gpt4 book ai didi

java - 用于转换逗号分隔字符串的正则表达式模式

转载 作者:行者123 更新时间:2023-12-02 04:18:55 25 4
gpt4 key购买 nike

将逗号分隔值的字符串更改为编号换行值

例如:

输入:a,b,c

输出:

1.a
2.b
3.c

发现很难使用正则表达式模式来更改它,而不是将字符串转换为字符串数组并循环。

最佳答案

我不太确定,是否可以仅使用正则表达式来实现而不需要任何类型的循环。正如我前面所说,将字符串拆分为数组并对其进行迭代的解决方案是最简单的:

String value = "a,b,c";
String[] values = value.split(",");
String result = "";
for (int i=1; i<=values.length; i++) {
result += i + "." + values[i-1] + "\n";
}

当然,无需拆分和任何类型的数组也是可以的,但这可能是一个有点尴尬的解决方案,例如:

String value = "a,b,c";
Pattern pattern = Pattern.compile("[(^\\w+)]");
Matcher matcher = pattern.matcher(value.replaceAll("\\,", "\n"));
StringBuffer s = new StringBuffer();
int i = 0;
while (matcher.find()) {
matcher.appendReplacement(s, ++i + "." + matcher.group());
}
System.out.println(s.toString());

这里的 , 符号被替换为 \n 换行符号,然后我们在每行的开头查找一组字符 [( ^\\w+)]。如果找到任何组,那么我们将在该组的开头附加一个行号。但即使在这里我们也必须使用循环来设置行号。而且这个逻辑并不像第一个那样清晰。

关于java - 用于转换逗号分隔字符串的正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32986530/

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