gpt4 book ai didi

java - regex\\p{So} 不过滤 BLACK CIRCLE FOR RECORD

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:47:48 24 4
gpt4 key购买 nike

我的问题是关于 Unicode 字符 'BLACK CIRCLE FOR RECORD'with 在杂项技术 block 和符号中定义,其他 [So] 类别,Ref

此代码无效

String registered= "President⏺";   
System.out.println(registered.replaceAll("\\p{So}",""));

我当总统了⏺

记录的黑色圆圈未被 \\p{So} 正则表达式过滤!

谢谢

最佳答案

知道 的代码点是 23FA 并列出 \p{So} 下的所有字符 (Other_Symbol) 类别:

for (char ch = Character.MIN_VALUE; ch<Character.MAX_VALUE; ch++) {
if (Character.OTHER_SYMBOL == Character.getType(ch)) {
String s = String.format ("\\u%04x", (int)ch);
System.out.println(s);
}
}

我们会看到:

...
\u23f0
\u23f1
\u23f2
\u23f3
\u2400
...

很明显,代码点 \u23f3\u23ff 不包括在内,但它们应该符合 UnicodeData.txt .您可以将 BLACK CIRCLE FOR RECORD 正确地落入 InMiscellaneous_Technical block 与 Java 中的 \p{InMiscellaneous_Technical} 匹配。

你看到了一个错误。

关于java - regex\\p{So} 不过滤 BLACK CIRCLE FOR RECORD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49559814/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com