如何在"1,1,shoes,1,1,coats,2,1,shirts,1,2,books"中每3个逗号切割一次,使用Java实现
时间: 2023-10-02 19:06:23 浏览: 57
Timer/Coatas模型-apue中文
可以使用Java中的split函数和正则表达式来实现:
```java
String str = "1,1,shoes,1,1,coats,2,1,shirts,1,2,books";
String[] arr = str.split("(?<=\\G.{3}),");
for (String s : arr) {
System.out.println(s);
}
```
输出结果为:
```
1,1,sh
oes
1,1,co
ats
2,1,sh
irt
s,1,2,b
ook
s
```
其中,正则表达式`(?<=\G.{3}),`表示每3个字符(包括逗号)切割一次。`\G`表示上一个匹配的结尾,`(?<=...)`表示正向肯定预测先行断言,即当前位置的前面必须是指定的表达式,但不包括这个表达式的内容。`.`表示匹配任意字符,`{3}`表示匹配3次。最后的逗号表示以逗号为分隔符进行切割。
阅读全文