[解決済み] Java の文字列を "." で分割する (ドット) [重複] で分割
2022-03-21 04:39:48
質問
このコードの2行目は、なぜ
ArrayIndexOutOfBoundsException
?
String filename = "D:/some folder/001.docx";
String extensionRemoved = filename.split(".")[0];
これが機能している間は
String driveLetter = filename.split("/")[0];
Java 7を使用しています。
解決方法を教えてください。
で分割する場合は、ドットをエスケープする必要があります。 リテラル のドットになります。
String extensionRemoved = filename.split("\\.")[0];
そうでなければ、正規表現で分割していることになります。
.
これは、任意の文字という意味です。
正規表現でシングル・バックスラッシュを作成するために必要なダブル・バックスラッシュに注意してください。
を取得しています。
ArrayIndexOutOfBoundsException
入力文字列が単なるドットであるため、すなわち
"."
これは、ドットで分割すると空の配列が生成されるエッジケースです。
split(regex)
は末尾の空白をすべて取り除きますが、ドットとドットを分割すると空白が2つしか残らないので、末尾の空白を取り除いた後は空の配列が残ります。
を取得しないようにするために
ArrayIndexOutOfBoundsException
のオーバーロード版を使ってください。
split(regex, limit)
これは2番目のパラメータで、結果の配列のサイズ制限を指定します。このとき
limit
は
ネガティブ
の場合、結果の配列から末尾の空白を削除する動作は無効となります。
".".split("\\.", -1) // returns an array of two blanks, ie ["", ""]
つまり
filename
は単なるドット
"."
を呼び出します。
filename.split("\\.", -1)[0]
を呼び出すと空白が返されますが
filename.split("\\.")[0]
を投げます。
ArrayIndexOutOfBoundsException
.
関連
-
スタイルが読み込まれず、ブラウザのコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
この行に複数のマーカーがある - HttpServletResponseが型エラーに解決できない
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] Javaはパラメータのデフォルト値をサポートしていますか?
-
[解決済み] Javaで文字列を分割する方法
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
スタイルが読み込まれず、ブラウザコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
スタイルが読み込まれず、ブラウザのコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
プロジェクトの依存関係を解決できなかった 解決
-
linux run jarfile Invalid or corrupt jarfile error.
-
Javaエラーメッセージがenclosingクラスでない
-
javaでよく使われる英単語
-
mavenプロジェクトのテストエラー java.lang.ClassNotFoundException: org.glassfish.jersey.client.ClientConfig の問題を解決する。
-
java 例外。Javaツールの初期化
-
IDEA パッケージステートメントの欠落
-
コミットには何も追加されないが、未追跡のファイルが存在し、gitで未追跡のファイルに対する完璧な解決策