gpt4 book ai didi

java - 如何检查字符串是否仅包含 ASCII?

转载 作者:IT老高 更新时间:2023-10-28 11:21:10 24 4
gpt4 key购买 nike

如果字符是字母,则调用 Character.isLetter(c) 返回 true。但是有没有办法快速找到一个String是否只包含ASCII的基本字符?

最佳答案

来自 Guava 19.0 以后,您可以使用:

boolean isAscii = CharMatcher.ascii().matchesAllOf(someString);

这使用 matchesAllOf(someString)依赖工厂方法的方法ascii()而不是现在已弃用的 ASCII 单例。

这里 ASCII 包括所有 ASCII 字符 包括低于 0x20(空格)的不可打印字符,例如制表符、换行符/回车符以及 BEL 代码 0x07DEL 代码 0x7F

此代码错误地使用字符而不是代码点,即使代码点已在早期版本的注释中指出。幸运的是,创建具有 U+010000 或更大值的代码点所需的字符使用两个具有 ASCII 范围之外的值的代理字符。所以该方法仍然可以成功地测试 ASCII,即使是包含表情符号的字符串。

对于没有 ascii() 方法的早期 Guava 版本,您可以编写:

boolean isAscii = CharMatcher.ASCII.matchesAllOf(someString);

关于java - 如何检查字符串是否仅包含 ASCII?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3585053/

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