2012-01-28 98 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的正則表達式引擎充滿了循環。