【发布时间】:2016-03-16 14:40:10
【问题描述】:
假设我有以下代码:
String description = "★★★★★ ♫ ♬ This description ✔✔ ▬ █ ✖ is a mess. ♫ ♬ ★★★★★";
我想删除非拉丁字符:✔、▬、█、✖、♫、♬ 和 ★。
让它变成这样:This description is a mess.
我知道可能有很多类似wingdings 的字符,所以与其指定我要删除的内容,我认为最好列出我要保留的内容:Basic Latin 和Latin-1 supplements 字符。
我发现我可以使用以下代码删除除基本拉丁字符以外的所有内容
String clean_description = description.replaceAll("[^\\x00-\\x7F]", "").trim();
但是有没有办法同时保留 Latin-1 补充字符?
【问题讨论】:
-
因为看起来该范围正好在基本拉丁语之后,您不能将正则表达式更改为:
"[^\\x00-\\xFF]"? -
@resueman 这听起来像是一个答案...
-
试试
\p{S}正则表达式,看我下面的帖子 -
@Saleem 评论并回答?