java - 通过 Charset 确定一个特殊字符
问题描述
我想检查我的角色是否是特殊符号或不使用标准 Charset(目前,我已经通过 regex 检查实现了它[^a-zA-Z0-9 ])
。是否可以通过 Java 或 Kotlin 中的 Charset 类进行检查?
解决方案
不幸的是,Java 上没有定义专门的函数Charset
来确定它是否包含特殊字符。
使用正则表达式完全没问题,但你也可以这样做:
fun Char.isSpecialChar() = toLowerCase() !in 'a'..'z' && !isDigit() && !isWhitespace()
fun CharSequence.containsSpecialChars() = any(Char::isSpecialChar)
'H'.isSpecialChar() // false
'&'.isSpecialChar() // true
"Hello World".containsSpecialChars() // false
"Hello & Goodbye".containsSpecialChars() // true
这是一个 Kotlin 解决方案,因此如果您有 Java,则Charset
可能需要进行一些转换。
推荐阅读
- laravel - 在 laravel 上统计数据库中的数据
- selenium - TypeError:“模块”对象不可调用 selinium
- javascript - 滚动到顶部并同时刷新页面
- java - Java用拦截器发送http post
- javascript - 发送表单时如何自动登录/注册用户?
- angularjs - 这个拼接定义正确吗?
- r - 当绘图的限制固定时,ggplot2 中的抖动点
- javascript - 如何在javascript中使用当前日期、时间、秒、毫秒获取当前时间戳?
- dart - 如何在flutter android中读取/打开e-pub文件?
- kubernetes - 如何在 AWS 上自动扩展 Kubernetes