Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用正则表达式在Java中查找并替换字符串中的十六进制值_Java_Regex_Hex - Fatal编程技术网

使用正则表达式在Java中查找并替换字符串中的十六进制值

使用正则表达式在Java中查找并替换字符串中的十六进制值,java,regex,hex,Java,Regex,Hex,在我的网站的其中一个部分,用户可以输入一长段文本。用户可能会输入一些未正确呈现的机器相关字符,因此我希望在它们保存信息之前执行验证检查 我有一系列的十六进制值,这些值依赖于机器,需要避免。我需要检查他们的存在并突出显示这些角色 解决此问题的一种方法是读取字符串中的每个字符,并将其与十六进制范围进行比较,然后将其替换为高亮显示的字符。 在Java中使用正则表达式可以做到这一点吗 是的,你可以 这是一个示例代码,用将0x3041和0x3096范围内的字符序列括起来 String s=”私は日本人です

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

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

解决此问题的一种方法是读取字符串中的每个字符,并将其与十六进制范围进行比较,然后将其替换为高亮显示的字符。 在Java中使用正则表达式可以做到这一点吗

是的,你可以

这是一个示例代码,用
将0x3041和0x3096范围内的字符序列括起来

String s=”私は日本人です。";
字符串r=s.replaceAll(“[\u3041-\u3096]+”,“”);
系统输出打印项次;//->私は日本人です。
System.out.println(r);//->私日本人。
是的,你可以

这是一个示例代码,用
将0x3041和0x3096范围内的字符序列括起来

String s=”私は日本人です。";
字符串r=s.replaceAll(“[\u3041-\u3096]+”,“”);
系统输出打印项次;//->私は日本人です。
System.out.println(r);//->私日本人。
是的,你可以

这是一个示例代码,用
将0x3041和0x3096范围内的字符序列括起来

String s=”私は日本人です。";
字符串r=s.replaceAll(“[\u3041-\u3096]+”,“”);
系统输出打印项次;//->私は日本人です。
System.out.println(r);//->私日本人。
是的,你可以

这是一个示例代码,用
将0x3041和0x3096范围内的字符序列括起来

String s=”私は日本人です。";
字符串r=s.replaceAll(“[\u3041-\u3096]+”,“”);
系统输出打印项次;//->私は日本人です。
System.out.println(r);//->私日本人。


StackOverflow上已经有很多关于这个问题的答案,请尝试搜索。您是在谈论控制代码0x0-0x1F和0x7F?终端模拟esc序列吗?我是在谈论十六进制范围,如0x8740~0x879F。StackOverflow上已经有很多关于这个问题的答案,请尝试搜索。您是在谈论控制代码吗s 0x0-0x1F和0x7F?终端模拟esc序列?我说的是0x8740~0x879F之类的十六进制范围。StackOverflow上已经有很多关于这个问题的答案,请尝试搜索。你说的是控制代码0x0-0x1F和0x7F?终端模拟esc序列吗?我说的是0x8740~0x879F之类的十六进制范围有很多在StackOverflow上已经回答了这个问题,请尝试搜索。您是在谈论控制代码0x0-0x1F和0x7F吗?终端模拟esc序列?我是在谈论十六进制范围,如0x8740~0x879F。这非常完美。是否可以使用replaceAll同时替换多个不同的十六进制范围?@user3288346 Yes,例如
“[\u3041-\u3096\u8740-\u879f]+”
。感谢您的回答。这非常完美。是否可以使用replaceAll一次替换多个不同的十六进制范围?@user3288346是,例如
“[\u3041-\u3096\u8740-\u879f]+“
。谢谢你的回答。那太完美了。是否可以使用replaceAll同时替换多个不同的十六进制范围?@user3288346是,例如
“[\u3041-\u3096\u8740-\u879f]+”
。谢谢您的回答。那太完美了。是否可以使用replaceAll同时替换多个不同的十六进制范围?@user3288346是,例如
“[\u3041-\u3096\u8740-\u879f]+”
    String s = "私は日本人です。";
    String r = s.replaceAll("[\u3041-\u3096]+", "<$0>");
    System.out.println(s);  // -> 私は日本人です。
    System.out.println(r);  // -> 私<は>日本人<です>。