我需要将下面的输入字符串拆分到第 5 个逗号。但是我也需要带逗号的字符串,就像在输出中一样。我试过了
(?<=\G\d+,\d+,\d+,\d+,\d+)
使用正则表达式。但它删除了第 5 个位置的逗号。
String data = "12,23,34,45,56,78,9,";
String[] array = data.split("(?<=\\G\\d+,\\d+,\\d+,\\d+,\\d+)"); //Magic :)
// to reveal magic see explanation below answer
for(String s : array){
System.out.println(s); //output = [12,23,34,45,56][78,9,]
}
有人可以尝试在下面的输出中给出我预期的解决方案吗?
input string[] = 12,23,34,45,56,78,9,`enter code here`
output = [12,23,34,45,56,][78,9,]
提前致谢
最佳答案
不使用 split()
方法,您可以尝试使用此模式进行匹配:
\\G((?:\\d+,?){5}|(?:\\d+,?)+)
关于java - Java 最多只拆分 5 个逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19372601/