Java-删除所有语言字符串中的所有非单词字符
我需要删除java中单词的所有标点符号。我尝试过这个Java-删除所有语言字符串中的所有非单词字符,java,regex,punctuation,Java,Regex,Punctuation,我需要删除java中单词的所有标点符号。我尝试过这个 System.out.println("do.,it".replaceAll("[^\\w]", "")); System.out.println("сказочники".replaceAll("[^\\w]", "")); 但它不适用于基里尔语或其他语言。我已经试着和你一起工作了 \p{Punct} 但举例来说,这份清单并不完整 „ and » 缺少请尝试使用此正则表达式 text = text.replaceAl
System.out.println("do.,it".replaceAll("[^\\w]", ""));
System.out.println("сказочники".replaceAll("[^\\w]", ""));
但它不适用于基里尔语或其他语言。我已经试着和你一起工作了
\p{Punct}
但举例来说,这份清单并不完整
„ and »
缺少请尝试使用此正则表达式
text = text.replaceAll("[^a-zA-Z0-9\\s]", "");
这将删除除空格以外的所有特殊字符
编辑:
因为这是另一种语言
假设您必须删除-+^.:代码>
试试这个,text=text.replaceAll(“[\\-\\+\\.\\^:,]”,“”)代码>我的解决方案似乎是
System.out.println("сказ очники»»«„“‚‘›‹".replaceAll("[^\\p{L}]", ""));
不确定java是否支持此功能,但请尝试:
"сказочники".replaceAll("\P{wd}+", "")
其中,\p{wd}
表示任何语言中的任何非单词字符。它与\p{wd}
System.out.println(“do.,It.replaceAll(\\w+\\p{Punct}(\\s}$),“$1$2”)相反;打印“做吧,做吧”。。。或者我不认为它对kyrillicTry二副有效。我不知道为什么,但它似乎有效,谢谢=)我会尽快接受它。我如何能包括更多的点刺,如»?只需在里面添加[?:!,;]可能的重复并不能回答这个问题。若要批评或要求作者澄清,请在其帖子下方留下评论。为什么这不是解决方案?我写了“我需要删除java中单词的所有标点符号”,你也在问一个问题。这是一个问答论坛,你不能以一个问题来结束答案。。。没有意义:-)它在我的Java1.8平台上不起作用。我成功地使用了“ззччззчзззгзгзгзззг1079。