我需要删除java中单词的所有标点符号我试过这个
System.out.println("do.,it".replaceAll("[^\\w]", ""));
System.out.println("сказочники".replaceAll("[^\\w]", ""));
但它不适用于西里尔语或其他语言。我已经尝试过使用
了\p{Punct}
但是列表不完整,例如
„ and »
缺少
答案 0 :(得分:1)
试试这个正则表达式。
text = text.replaceAll("[^a-zA-Z0-9\\s]", "");
这将删除除空格以外的所有特殊字符。
修改强>
因为这是一种不同的语言。
假设您必须删除- + ^ . : ,
试试这个text = text.replaceAll("[\\-\\+\\.\\^:,]","");
答案 1 :(得分:1)
不确定java是否支持此功能,但请尝试使用:
"сказочники".replaceAll("\P{wd}+", "")
其中\P{wd}
代表任何语言中的任何非单词字符。它与\p{wd}
答案 2 :(得分:0)
我的解决方案似乎是
System.out.println("сказ очники»»«„“‚‘›‹".replaceAll("[^\\p{L}]", ""));