Java 處理英文文字標點符號去除
阿新 • • 發佈:2018-11-09
本文作者:合肥工業大學 管理學院 錢洋 email:[email protected] 內容可能有不到之處,歡迎交流。
未經本人允許禁止轉載。
文章目錄
介紹
在英文文字處理時,需要將噪音字元出去,其中標點符號便屬於噪音字元。在我的這篇部落格中,https://blog.csdn.net/qy20115549/article/details/83869689 介紹了使用stanford-corenlp實現分詞、詞形還原的操作。其分詞結果,標點符號也成了獨立的字串,剩下的工作便是對分詞後獲得的字串集合進行逐個判斷(即判斷是否為標點符號,是否為停用詞、是否為URL字元等)。
在我的這篇部落格中https://blog.csdn.net/qy20115549/article/details/80684455,也已經介紹了停用詞的處理。
java判斷是否為標點符號
如下,為java操作程式:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test1 {
public static void main(String[] args) {
String c1 = "¥";
System.out.println("¥是否為標點符號:" + isPunctuation(c1));
String c2 = "we-are";
System.out.println("we-are是否為標點符號:" + isPunctuation(c2));
}
//判斷是否為標點符號
public static boolean isPunctuation(String str) {
String regEx = "[`~☆★[email protected]#$%^&*()+=|{}':;,\\[\\]》·.<>/?~!@#¥%……()——+|{}【】‘;:”“’。,、?]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
//如果長度為1且能匹配正則表示式
if (str. length() == 1 && m.matches()) {
return true;
}else {
return false;
}
}
}
執行該程式,在控制檯的輸出結果為: