使用正则表达式拆分字符串

时间:2012-01-28 06:54:00

标签: java regex

如何将字符串拆分为3个字符? (我不想为此做循环,也许一些正则表达式会有所帮助)

我举例:

String str = "111222333444";
String[] result = str.split("help?"); // get "111", "222", "333"

4 个答案:

答案 0 :(得分:4)

使用guava-library

 Iterable<String> strNums = Splitter.fixedLength(3).split("111222333444")

比使用正则表达式可读。然后,如果需要,可以使用Ints.tryParse(...)获取Integer版本。

答案 1 :(得分:1)

使用.split将匹配字符串中的正则表达式,在底层实现中,正则表达式涉及遍历整个字符串。编写一个简单的循环来从每3个字符创建一个令牌可能会更有效。

答案 2 :(得分:1)

坦率地说,我不认为你可以做一个未定义长度的字符串,没有循环。

答案 3 :(得分:0)

您不能使用split,因为split的arg是分隔符,而不是结果子字符串。 那么,你的分隔符正则表达式是nothing!?

抱歉,你写了循环。顺便说一句,split的正则表达式引擎充满了循环。