2016-12-04 21 views
0

我需要能夠將字符串拆分爲字母和數字。它會看到的字符串是沿線在字符串中分割字符和數字在

"dir1" "path11" 

我還需要暫時存儲2個值。我找到了.split方法,它看起來可能是我之後的,但我無法弄清楚如何使用它,我應該繼續研究它還是有更好的方法?

+0

是弦總是**字母后跟數字* *? –

+0

在這種情況下,他們將是 –

+0

這是類似的解決方案在SO http://stackoverflow.com/questions/8270784/how-to-split-a-string-between-letters-and-digits-or-between-digits-和 - 字母或http://stackoverflow.com/questions/16787099/how-to-split-the-string-into-string-and-integer-in-java – dkb

回答

0

正則表達式和拆分可以幫助做到這一點:

public static void main(String[] args) { 
String[] c = "path11".split("(?<=\\D)(?=\\d)|(?<=\\d)(?=\\D)"); 
System.out.println(Arrays.toString(c)); 
} 

輸出=

[路,11]

0

使用String.split()作爲在

String[] strings = "abc111".split("(?=\\d+)(?<=\\D+)"); 

split()函數採用圍繞該字符串將被分割了一個正則表達式。

這裏模式有兩個斷言:一個斷言前面的字符只是數字,另一個斷言前面的字符是非數字。所以它將在非數字結束之後(即在數字開始之前)分開。