2011-11-14 5 views
0

テキストファイルをスキャンして各単語をハッシュマップに書き込むプログラムを作成しています。デリミタを使用して単語を分離する方法(Java)

Scannerクラスには、デフリートの区切り文字のスペースがあります。しかし、私は自分の言葉に句読点を付けて保存してしまった。私はスキャナに、ピリオド、昏睡、および他のタイプの共通の句読点をトークンを停止する記号として認識させたい。ここに私が試みているものです:

Scanner line_scanner = new Scanner(line).useDelimiter("[.,:;()?!\" \t]+~\\s"); 

スキャナは、基本的に、私は式の一部として「\\ s」を持っているにもかかわらず、すべてのスペースを無視しました。申し訳ありませんが、私はほとんど正規表現の理解がありません。

答えて

4
Scanner line_scanner = new Scanner(line).useDelimiter("[.,:;()?!\"\\s]+"); 
0

あなたはいないUnicodeの文字のために行くかもしれない:

useDelimiter("[^\\p{L}\\p{M}]+"); 

([^ ...] L、資本pはUnicodeのカテゴリを意味し、ではありませんが、文字は、発音区別がマーク(アクセントを組み合わせ、Mです)。

関連する問題