web-dev-qa-db-ja.com

Javaのスキャナークラスの複数の区切り文字

ScannerクラスのuseDelimiter()メソッドを使用して、コンマ(、)と改行文字(\ n)の両方を区切り文字として使用するにはどうすればよいですか?

私はcsvファイルからいくつかのテキストを解析しています。

14
tomejuan
 Scanner s = new Scanner("hello, world \n hello world");
 s.useDelimiter(",|\\n");
 while(s.hasNext()){
          System.out.println(s.next());

 }

出力

hello
 world 
 hello world
18
Jigar Joshi

useDelimiter(",|\\n");はどうですか

7
Andrew White

useDelimiterは正規表現パターンを取るため、",|\n"のようになります。

1
adrianboimvaser

ジガーは完全に正しいです。それでもうまくいかない場合は、",|\\r"

ほとんどのテキストファイルには、\ nではなく\ r\nがあるため

0
Orange

Excelファイルのスキャン区切り文字の使用-RegExのことを見落とさないでください。私の場合、Excelファイルは「|」で区切られています。私は、scanner.useDelimiter( "|")を使用して行を解析するためにかなりの時間を費やしており、文字ごとに戻ってきました。それをscanner.useDelimiter("\\ |")で置き換えると問題が解決しました!

0
Gil Shapir