[解決済み] なぜString.splitはパイプ区切り文字をエスケープする必要があるのですか?
2022-05-29 08:16:40
質問
各行がパイプで区切られたファイルを解析しようとしています。 splitメソッドでパイプ区切り文字をエスケープしないと正しく動作しませんでしたが、以下のようにパイプをエスケープすると正しく動作するようになりました。
private ArrayList<String> parseLine(String line) {
ArrayList<String> list = new ArrayList<String>();
String[] list_str = line.split("\\|"); // note the escape "\\" here
System.out.println(list_str.length);
System.out.println(line);
for(String s:list_str) {
list.add(s);
System.out.print(s+ "|");
}
return list;
}
において、なぜパイプ文字をエスケープする必要があるのか、誰か説明してください。
split()
メソッドにパイプ文字をエスケープする必要があるのか、説明できますか?
どのように解決するのですか?
String.split
は正規表現の引数を期待します。 エスケープされていない
|
は、quot;空文字列または空文字列を意味する正規表現として解析されますが、これはあなたが意味するところではありません。
関連
-
エラー java.util.NoSuchElementException
-
undefinedeclipse エラー。この行に複数のアノテーションが見つかりました: - 文字列を型解決に解決できない
-
Spring Boot による HTTPS アクセスの設定
-
Eclipseで "XXXX "の解決策を(型に)解決することができない
-
JDKの設定時にjava.dllが見つからない、java SE Runtime Environmentが見つからない問題が発生しました。
-
javaでクラスを作成すると、enclosing classでないように見える
-
[解決済み] ランダムな文字列を使用するこのコードは、なぜ "hello world" と表示されるのですか?
-
[解決済み] なぜJavaにはtransientフィールドがあるのですか?
-
[解決済み] と'is'のどちらかを使って文字列を比較すると、異なる結果になることがあるのはなぜですか?
-
[解決済み] Mavenスナップショットとは何か、なぜそれが必要なのか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
Java Error スレッド "AWT-EventQueue-0" で例外発生 java.lang.
-
undefinedeclipse エラー。この行に複数のアノテーションが見つかりました: - 文字列を型解決に解決できない
-
アクセス制限です。タイプ 'Application' は API ではありません。
-
Spring Boot による HTTPS アクセスの設定
-
javaで非静的な解を静的な参照にすることができない
-
JQuery DataTable 详解
-
サーブレットクラスのインスタンス化エラーの解決法
-
Spring BootのテストメソッドFailed to load ApplicationContextの問題を解決する
-
[オリジナル】java学習ノート【II】よくあるエラー クラスパス上のクラスファイルが見つからない、またはアクセスできない場合
-
SocketTimeoutExceptionの解決方法です。読み込みがタイムアウトした