我正在爲學校開展大數據分配並使代碼正常工作我需要從文本文件中過濾出單詞。即使很少發生Java過濾器文件也不會出現空格
Ofcourse我讀取文件並使用replaceAll(「[^ a-zA-Z0-9]」,「」)不需要的東西進行過濾。
但這會帶來一個問題。因爲我對空間的過濾也有一些特殊情況,如:
wobbewy!'--'Wobbewy,'
我得到的話,如:
wobbewywobbewy
反正是有關於空間過濾的話,也過濾掉這些特殊情況未做像大量的if語句?
while ((thisLine = bufferedReader.readLine()) != null) {
String[] woord = thisLine.toString().trim().split("\\s+");
for(int i=0; i<woord.length; i++){
normalWord = woord[i].replaceAll("[^a-zA-Z]+", " ");
normalWord = normalWord.toLowerCase();
然後我得到outpuit像:
XXV(多空格)我
爲什麼不使用(「[^ a-zA-Z0-9]」,「」),所以!' - '將被替換爲空格並且按空格分隔將起作用。或者:不要替換任何內容,並使用正則表達式搜索單詞,例如使用\ w +模式。 – kevcodez
當處理不使用空格分隔單詞的語言時,整個問題當然會變得更糟。在某些語言(泰語,IIRC?)中,簡單地將一段文本分解爲單詞需要一個字典和一個遞歸回溯算法。 –