Java - 替换所有非 ASCII 但保留 HTML 特殊字符

标签 java regex

如果我有一个字符串

String mine = "Some Name ® plus encoding issue ????? \u0000 something ";

我想保留所有 ASCII 字符和 HTML 实体,但删除任何其他编码。

我试过了

mine.replaceAll("[^\\x00-\\x7F]", ""); 

但这会删除商标和版权等内容

有没有办法保留 HTML 实体但删除所有其他编码?

最佳答案

您可以使用\\p{ASCII}属性:

mine = mine.replaceAll("[^\\p{ASCII}]+", "");

或者使用\\P{ASCII}:

mine = mine.replaceAll("\\P{ASCII}+", "");

关于Java - 替换所有非 ASCII 但保留 HTML 特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21887896/

相关文章:

java - Android - 从渲染线程中结束 Activity

用于分割的 Java 空格和换行符正则表达式

regex - 两个正则表达式之间的差异

javascript - 如何近似Java的Character.isLetterOrDigit()来识别Javascript中的非英文字母、数字?

java - 从包含内容的字符串中删除 HTML 标签

java - 根据单选按钮选择更改/替换 fragment

java - 是否可以使未展开的 Accordion Pane 点击通过?

java - Lucene - 返回按匹配字段数排序的结果

java - 如何有效地从红隼队列中获取数据

python - pyparsing 开始和结束字符串相同