ホームページ >Java >&#&チュートリアル >区切り文字としてドット (.) を使用して Java 文字列を正しく分割するにはどうすればよいですか?

区切り文字としてドット (.) を使用して Java 文字列を正しく分割するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-27 18:18:10554ブラウズ

How to Correctly Split a Java String Using a Dot (.) as a Delimiter?

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

Java では、split() メソッドは、一般的に次の内容に基づいて文字列を分割するために使用されます。指定された区切り文字。ただし、リテラルのドット (.) で文字列を分割しようとすると、プログラマは次のエラーに遭遇します:

fileName.split(".")[0];
ArrayIndexOutOfBoundsException

この例外の原因を理解するには、正規表現を詳しく調べる必要があります。ドット (.) は、任意の文字に一致する正規表現のメタ文字です。したがって、エスケープせずにリテラルのドットを使用すると、意図しない分割動作が発生します。

正しいアプローチは、バックスラッシュ () を使用してドットをエスケープし、リテラル文字として解釈されるようにすることです。

fileName.split("\.")[0];

これにより、文字列が他の部分ではなく、リテラルのドット文字で明確に分割されるようになります。 character.

発生する可能性のあるもう 1 つの問題は、入力文字列がドット (.) のみで構成されている場合に ArrayIndexOutOfBoundsException が発生することです。このエッジ ケースを回避するには、limit パラメーターを負の値に設定して、split() のオーバーロード バージョンを使用します。

fileName.split("\.", -1)[0];

limit を負の値に設定すると、結果の配列から末尾の空白を削除する動作が無効になります。これにより、入力文字列が単なるドットの場合でも、2 つの空白を含む配列が返されるようになります。

".".split("\.", -1) // [""," "]

これらのアプローチに従うことで、Java 文字列を効果的に分割できます。潜在的な例外を回避しながらドット文字を使用します。

以上が区切り文字としてドット (.) を使用して Java 文字列を正しく分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。