1. 程式人生 > >Java 處理英文文字標點符號去除

Java 處理英文文字標點符號去除

本文作者:合肥工業大學 管理學院 錢洋 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; } } }

執行該程式,在控制檯的輸出結果為:

在這裡插入圖片描述