[英]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.