web-dev-qa-db-ja.com

。(ドット)文字で文字列を分割Java android

こんにちは友人私はのような文字列を持っています

Android_a_b.pdf

Android_a_bpdfのように分割したい

私は次のようなコードを試します

String s="Android_a_b.pdf"; 
String[] parts = s.split(".");
String part1 = parts[0];  
String part2 = parts[1];  

上記のコードを実行すると、次のようなエラーが表示されます

11-05 09:42:28.922: E/AndroidRuntime(8722): Caused by: Java.lang.ArrayIndexOutOfBoundsException: length=0; index=0

String part1 = parts[0];

どのように解決できますか?

20
user3547706

.を使用して\をエスケープする必要があります

例えば:

String s="Android_a_b.pdf";
String[] parts = s.split("\\."); // escape .
String part1 = parts[0];
String part2 = parts[1];

.で分割されます

Split(regex) in Java

この文字列を、指定された正規表現の一致で分割します。

このメソッドは、指定された式と制限引数ゼロで2引数のsplitメソッドを呼び出すかのように機能します。したがって、末尾の空の文字列は結果の配列に含まれません。

それを念頭に置いて

パラメーター:regex-区切り正規表現