使用regex在Java中查找和替换String中的十六进制值

时间:2015-06-09 01:25:28

标签: java regex hex

在我网站的其中一个部分中,用户可以输入一段很长的文字。用户可能会输入一些未正确呈现的机器相关字符,因此我想在保存信息之前执行验证检查。

我有一系列十六进制值,这些值取决于机器,需要避免。我需要检查他们的存在并突出显示这些角色。

解决此问题的一种方法是读取字符串中的每个字符并将其与十六进制范围进行比较,然后将其替换为要突出显示的内容。 可以使用Java中的正则表达式来完成吗?

1 个答案:

答案 0 :(得分:3)

是的,你可以。

这是一个示例代码,用<>将字符序列包含在范围0x3041和0x3096中。

    String s = "私は日本人です。";
    String r = s.replaceAll("[\u3041-\u3096]+", "<$0>");
    System.out.println(s);  // -> 私は日本人です。
    System.out.println(r);  // -> 私<は>日本人<です>。