Scanner
クラスのuseDelimiter()
メソッドを使用して、コンマ(、)と改行文字(\ n)の両方を区切り文字として使用するにはどうすればよいですか?
私はcsvファイルからいくつかのテキストを解析しています。
Scanner s = new Scanner("hello, world \n hello world");
s.useDelimiter(",|\\n");
while(s.hasNext()){
System.out.println(s.next());
}
出力
hello
world
hello world
useDelimiter(",|\\n");
はどうですか
useDelimiterは正規表現パターンを取るため、",|\n"
のようになります。
ジガーは完全に正しいです。それでもうまくいかない場合は、",|\\r"
ほとんどのテキストファイルには、\ nではなく\ r\nがあるため
Excelファイルのスキャン区切り文字の使用-RegExのことを見落とさないでください。私の場合、Excelファイルは「|」で区切られています。私は、scanner.useDelimiter( "|")を使用して行を解析するためにかなりの時間を費やしており、文字ごとに戻ってきました。それをscanner.useDelimiter("\\ |")で置き換えると問題が解決しました!