エスケープ シーケンスを使用してリテラル ドットで Java 文字列を分割
Java 文字列をリテラル ドット (".") で分割しようとした場合Split() メソッドを使用する場合は、エスケープ シーケンス「\」を使用してドットをエスケープすることが重要です。このアクションが必要なのは、split() メソッドはエスケープされていないドットを任意の文字に一致する正規表現として扱い、予期しない結果が生じる可能性があるためです。
たとえば、次のコードを考えてみましょう。
String filename = "D:/some folder/001.docx"; String extensionRemoved = filename.split(".")[0];
入力文字列が単一のドットであるため、このコードは ArrayIndexOutOfBoundsException をスローします。ドット上でドットを分割すると空の配列が生成され、split() メソッドは結果から末尾の空の文字列を削除するため、空の配列が返されます。
この問題を解決するには、ドットを次のようにエスケープする必要があります。
String extensionRemoved = filename.split("\\.")[0];
エスケープシーケンス「\」を使用すると、任意の文字ではなく、リテラルのドット文字で分割することを指定します。
単一のバックスラッシュは正規表現で単一のバックスラッシュとして扱われるため、二重バックスラッシュが必要であることに注意することが重要です。 Java 文字列リテラルのエスケープ文字。
このアプローチに従うと、Java 文字列をリテラル ドットで効果的に分割でき、 ArrayIndexOutOfBoundsExceptions を処理し、正確な結果を保証します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3