每隔 n 个字符拆分一个字符串

2022-08-31 11:05:39

在JavaScript中,这就是我们在每3个字符处拆分一个字符串的方法。

"foobarspam".match(/.{1,3}/g)

我试图弄清楚如何在Java中做到这一点。任何指针?


答案 1

你可以这样做:

String s = "1234567890";
System.out.println(java.util.Arrays.toString(s.split("(?<=\\G...)")));

它产生:

[123, 456, 789, 0]

正则表达式匹配一个空字符串,该字符串具有最后一个匹配项 (),后跟三个字符 () ((?<=\G...)\G...(?<= ))


答案 2

Java不提供功能非常齐全的拆分实用程序,因此Guava库可以:

Iterable<String> pieces = Splitter.fixedLength(3).split(string);

查看用于拆分器的Javadoc;它非常强大。