2016-12-04 33 views
0

文字列とその数字に分割する必要があります。表示される文字列は、文字列内の文字と数字を分割する

"dir1" "path11" 

のいずれかの値に一時的に格納する必要があります。私は.splitメソッドを見つけましたが、それは私の後ろにあるかもしれないように見えますが、私はそれを調べ続けるべきか、それとも良い方法があるのでしょうか?

+0

は常に数字が続く**アルファベット文字の文字列です* *? –

+0

この場合、彼らは –

+0

になりますここに似たような解決策がありますhttp://stackoverflow.com/questions/8270784/how-to-split-a-string-between-letters-and-digits-or-between-digits- and-lettersまたは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()関数は、文字列が分割されるの周りに正規表現を取るよう。

パターンには2つのアサーションがあります.1つは前方の文字が数字だけであり、もう1つは前の文字が非数字であることを主張します。したがって、数字の終わりの直後(数字の冒頭の直前)に分割されます。