簡體   English   中英

如何使用定界符隔離單詞(Java)

[英]How to use delimiter to isolate words (Java)

我正在編寫一個程序,該程序掃描文本文件,然后將每個單詞寫入Hashmap。

Scanner類具有默認的空間分隔符。 但是我最終將自己的單詞存儲在標點符號上。 我希望掃描儀將句點,昏迷和其他類型的常見標點符號識別為停止令牌的標志。 這是我嘗試過的:

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

掃描程序基本上忽略了所有空格,即使我在表達式中使用了“ \\\\ s”也是如此。 抱歉,但是我對正則表達式幾乎一無所知。

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

您可能不需要任何unicode字母:

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

(不是[^ ...],大寫p表示Unicode類別,L是字母,M是變音組合標記(帶重音符號)。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM