2012-01-28 46 views
-1

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

我给例如:

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

*“我不想..”*为什么要关心你想要的?这是完成工作的原因,重要的是什么。 – 2012-01-28 06:58:56

+1

为什么不做一个循环?这将是最快和最简单的解决方案。 – FakeRainBrigand 2012-01-28 07:00:37

+0

如果我想使用循环,我不需要问这个问题。我正在寻找一些更好的解决方案..如果它不存在,我使用循环。 – nirmus 2012-01-28 07:01:10

回答

4

使用​​

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

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

+1

好!我不知道有Splitter ...虽然它也使用循环:) – 2012-01-28 07:20:18

+0

thx,很好的解决方案。 – nirmus 2012-01-28 07:26:03

1

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

1

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

0

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

对不起,你要写循环。顺便说一句,split的正则表达式引擎充满了循环。

相关问题