java - 将字符串替换为 2 个范围(或)之间的 ASCII 值

标签 java regex

我想替换包含除这 2 个范围之外的不需要的 ASCII 字符的字符串(以 hex 表示):

x20-x7ex80-x9a

如何编写正确的正则表达式,以便它将替换 20-7e80-9a 之间以外的所有字符?

我尝试过这个:

String fixed = value_.replaceAll("[^(\\x20-\\x7e|\\x80-\\x9a)]", "");

但这并没有成功。 更新: 我得到一个字符串,其中仅包含 x20-x7e 之间的字符,所有其他字符,包括 x80-x9a 被替换。

我如何使用这两个范围之间的或?

最佳答案

为什么不只是:

String fixed = value_.replaceAll("[^\\x20-\\x7e\\x80-\\x9a]", "");

关于java - 将字符串替换为 2 个范围(或)之间的 ASCII 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19398849/

相关文章:

ios - 将NSRegularExpression更新为特定模式

java - 在 Java 中将 native 窗口句柄传递给 DLL

java - Vorbis查找文件的解压缩大小

java - 为我的所有 Jlabel JTextArea 等设置通用字体大小

javascript - 如何用正则表达式替换其中少于 3 个字符的段落?

regex - Excel 中的 ssn、名字、姓氏、电子邮件地址数据验证不起作用

java processbuilder 打开一个文本文件读取数据

java - 什么是NullPointerException,我该如何解决?

php - 从字符串中删除开头和结尾字符的正则表达式?

检查整个多行 HTML header 时 HTML 状态代码的 Java 正则表达式