2011-01-16 10 views
4

文字列を "。"の前後で分割しようとすると、メソッドsplitは、長さ0.の文字列の配列を返します。 "a"の出現箇所を分割すると、それは正常に動作します。誰にも分かりますか?分割されていても区切り記号は使用できません。文字列を "。"に分割することは可能ですか? Javaで?

+0

私はhttp://download.oracle.com/javase/tutorial/essential/regex/ – adrianboimvaser

答えて

14

splitは正規表現です。試してくださいsplit("\\.")

+1

を読むことをお勧めします。 ) –

+0

+1、またはStringUtils.split - > http://commons.apache.org/lang/api-2.5/org/apache/commons/lang /StringUtils.html#split(java.lang.String,%20char) – unbeli

+0

彼らはそれをsplitByRegexと呼ぶべきであり、Stringをとる単純な分割メソッドを保持するべきです!ほぼすべてのJava開発者はこれで一度時間を無駄にしました...これは、最小の驚きの原則を尊重するでしょう。 –

2
String a = "a.jpg"; 
String str = a.split(".")[0]; 

splitは正規表現の引数と "。"を受け入れるため、ArrayOutOfBoundExceptionがスローされます。任意の文字を表す正規表現の予約文字です。 代わりに、私たちは、次のステートメントを使用する必要があります。コードをコンパイルすると

String str = a.split("\\.")[0]; //Yes, two backslashes 

、正規表現として知られ、我々はそれが

になりたいものをここにリンクがあるされている「\。」興味のある場合は、私の古いブログ記事をご覧ください:http://junxian-huang.blogspot.com/2009/01/java-tip-how-to-split-string-with-dot.html

関連する問題