Java 处理英文文本标点符号去除

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qy20115549/article/details/83890997

本文作者:合肥工业大学 管理学院 钱洋 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 = "[`~☆★!@#$%^&*()+=|{}':;,\\[\\]》·.<>/?~!@#¥%……()——+|{}【】‘;:”“’。,、?]";
		Pattern p = Pattern.compile(regEx);
		Matcher m = p.matcher(str);
		//如果长度为1且能匹配正则表达式
		if (str.length() == 1 && m.matches()) {
			return true;
		}else {
			return false;
		}
	}
}

执行该程序,在控制台的输出结果为:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qy20115549/article/details/83890997
今日推荐