有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何替换所有非补充字符,但保留所有补充字符?

我对应用于补充字符的Java正则表达式有一个问题

String x = new StringBuilder().appendCodePoint(0x10001).toString();
// x == "𐀁" (char['\uD800', '\uDC01']) - ok
String y = x.replaceAll("[\\x{10000}-\\x{10010}]", "*");
// y == "*" (char['*']) - ok
String z = x.replaceAll("[^\\x{10000}-\\x{10010}]", "*");
// z == "�*" (char['\uD800', '*']) - NOT ok

我期待着x == z。我做错了什么? jdk1。8.0_144


共 (0) 个答案