Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.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_Android_Kotlin - Fatal编程技术网

Java 通过字符集确定一个特殊字符

Java 通过字符集确定一个特殊字符,java,android,kotlin,Java,Android,Kotlin,我想检查我的字符是一个特殊符号还是没有使用标准字符集(目前,我已经通过[^a-zA-Z0-9]的正则表达式检查实现了它)。可以通过Java或Kotlin中的字符集类进行检查吗?看看classJava.lang.Character静态成员方法(isDigit、Isleter、isLowerCase等) 示例: String str = "Hello World 123 !!"; int specials = 0, digits = 0, letters = 0, spaces = 0; for (

我想检查我的字符是一个特殊符号还是没有使用标准字符集(目前,我已经通过
[^a-zA-Z0-9]的正则表达式检查实现了它)
。可以通过Java或Kotlin中的字符集类进行检查吗?

看看class
Java.lang.Character
静态成员方法(isDigit、Isleter、isLowerCase等)

示例:

String str = "Hello World 123 !!";
int specials = 0, digits = 0, letters = 0, spaces = 0;
for (int i = 0; i < str.length(); ++i) {
   char ch = str.charAt(i);
   if (!Character.isDigit(ch) && !Character.isLetter(ch) && !Character.isSpace(ch)) {
      ++specials;
   } else if (Character.isDigit(ch)) {
      ++digits;
   } else if (Character.isSpace(ch)) {
      ++spaces;
   } else {
      ++letters;
   }
}
String str=“你好,世界123!!”;
整数特殊值=0,数字=0,字母=0,空格=0;
对于(int i=0;i

不幸的是,Java上没有定义专门的函数来确定它是否包含特殊字符

使用正则表达式完全可以,但您也可以这样做:

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应用程序,可能需要进行一些转换。

可能重复的