如何拆分3个字符的字符串? (我不想为这个做循环,也许有些正则表达式将会帮助)用正则表达式拆分字符串
我给例如:
String str = "111222333444";
String[] result = str.split("help?"); // get "111", "222", "333"
如何拆分3个字符的字符串? (我不想为这个做循环,也许有些正则表达式将会帮助)用正则表达式拆分字符串
我给例如:
String str = "111222333444";
String[] result = str.split("help?"); // get "111", "222", "333"
使用
Iterable<String> strNums = Splitter.fixedLength(3).split("111222333444")
比使用正则表达式可读。如果需要,您可以使用Ints.tryParse(...)
获取Integer版本。
好!我不知道有Splitter ...虽然它也使用循环:) – 2012-01-28 07:20:18
thx,很好的解决方案。 – nirmus 2012-01-28 07:26:03
使用.split
将匹配字符串中的正则表达式其中,在底层实现,无论如何涉及遍历整个字符串。编写一个简单的循环来从每3个字符创建一个令牌可能会更有效。
坦率地说,我不认为你可以做一个未定义长度的字符串,没有循环。
您不能使用split
,因为split的arg是分隔符,而不是生成的子字符串。 那么,你的分隔符正则表达式就是nothing
!?
对不起,你要写循环。顺便说一句,split
的正则表达式引擎充满了循环。
*“我不想..”*为什么要关心你想要的?这是完成工作的原因,重要的是什么。 – 2012-01-28 06:58:56
为什么不做一个循环?这将是最快和最简单的解决方案。 – FakeRainBrigand 2012-01-28 07:00:37
如果我想使用循环,我不需要问这个问题。我正在寻找一些更好的解决方案..如果它不存在,我使用循环。 – nirmus 2012-01-28 07:01:10