7

重複の可能性:
Javaのsplit()メソッドはドット(。)では機能しません

私はJavaを初めて使用します。「。」から文字列を分割したい。(ドット)そしてそれらの名前を一つずつ取得します。しかし、このプログラムはエラーを出します: "Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0" 助けてください

 String input1 = "van.bus.car";

 System.out.println(input.split(".")[0]+"");

 System.out.println(input.split(".")[1]+"");

 System.out.println(input.split(".")[2]+"");
4

2 に答える 2

19

正規表現でDot(.)は、 に一致する特殊なメタ文字everythingです。

String.splitは正規表現で動作するため、dot.

System.out.println(input.split("\\.")[0]+"");

正規表現の詳細については、次のサイトを参照してください。 -

于 2012-10-15T18:04:13.847 に答える
7

への引数splitは正規表現であるため、ピリオド/ドット/.には特別な意味があります:任意の文字に一致します。分割で文字どおりに使用するには、エスケープする必要があります。

String[] splits = input1.split("\\.");

これにより、入力文字列の長さ 3 の配列が得られます。

正規表現と特殊文字の詳細については、Pattern のドキュメントを参照してください。

于 2012-10-15T18:04:42.517 に答える