我想通過首先刪除停用詞並在其上應用詞幹分析算法來處理文本,最後將它們拆分爲單詞並將它們保存到文件中。 我做過的一切,我的問題是空格的文件中包含的話如下:從文件java中刪除空格
Hi
teacher
mother
sister
father .... and so on
的問題是老師和母親之間的空間。 我想將其刪除。我無法弄清楚它的原因。
以下是相關代碼的一部分。
public void parseFiles(String filePath) throws FileNotFoundException, IOException {
File[] allfiles = new File(filePath).listFiles();
BufferedReader in = null;
for (File f : allfiles) {
if (f.getName().endsWith(".txt")) {
fileNameList.add(f.getName());
Reader fstream = new InputStreamReader(new FileInputStream(f),"UTF-8");
in = new BufferedReader(fstream);
StringBuilder sb = new StringBuilder();
String s=null;
String word = null;
while ((s = in.readLine()) != null) {
s=s.trim().replaceAll("[^A-Za-z0-9]", " "); //remove all punctuation for English text
Scanner input = new Scanner(s);
while(input.hasNext()) {
word= input.next();
word=word.trim().toLowerCase();
if(stopword.isStopword(word)==true)
{
word= word.replace(word, "");
}
String stemmed=stem.stem (word);
sb.append(stemmed+"\t");
}
//System.out.print(sb);
}
String[] tokenizedTerms = sb.toString().replaceAll("[\\W&&[^\\s]]", "").split("\\W+"); //to get individual terms (English)
for (String term : tokenizedTerms) {
if (!allTerms.contains(term)) { //avoid duplicate entry
allTerms.add(term);
System.out.print(term+"\t");
}
}
termsDocsArray.add(tokenizedTerms);
}
}
//System.out.print("file names="+fileNameList);
}
請幫忙。 感謝
我還要補充一個'TRIM()',你可以考慮空字符串,如果它僅僅是由空格 – BackSlash
你說得對,感謝的話。 – Christian
你也可以使用'isEmpty()'方法 –