Java 中检查字符串是否只包含 Unicode 字母、数字或空格
要检查给定的字符串是否只包含 Unicode 字母、数字或空格,我们使用 isLetterOrDigit() 和 charAt() 方法以及决策语句。
isLetterOrDigit(char ch) 方法确定特定字符(Unicode ch)是字母还是数字。它返回一个布尔值,要么为 true 要么为 false。
声明 - java.lang.Character.isLetter() 方法的声明如下:
public static boolean isLetter(char ch)
charAt() 方法返回给定索引处的字符值。它属于 Java 中的 String 类。索引必须在 0 到 length()-1 之间。
声明 - java.lang.String.charAt() 方法的声明如下:
public char charAt(int index)
让我们来看一个 Java 程序,它检查字符串是否只包含 Unicode 字母、数字或空格。
示例
public class Example { boolean check(String s) { if (s == null) // checks if the String is null { return false; } int len = s.length(); for (int i = 0; i < len; i++) { // checks whether the character is neither a letter nor a digit and not even a space // if it is neither a letter nor a digit and not even a space then it will return false if ((Character.isLetterOrDigit(s.charAt(i)) == false) && s.charAt(i)!=' ') { return false; } } return true; } public static void main(String [] args) { Example e = new Example(); String s = "@ # @"; // returns false due to special character presence String s1 = "134s"; // returns true String s2 = "1 0d"; // returns true String s3 = "1 x"; // returns true System.out.println("String "+s+" has only unicode letters,digits or space : "+e.check(s)); System.out.println("String "+s1+" has only unicode letters,digits or space: "+e.check(s1)); System.out.println("String "+s2+" has only unicode letters,digits or space: "+e.check(s2)); System.out.println("String "+s3+" has only unicode letters,digits or space : "+e.check(s3)); } }
输出
String @ # @ has only unicode letters,digits or space : false String 134s has only unicode letters,digits or space: true String 1 0d has only unicode letters,digits or space: true String 1 x has only unicode letters,digits or space : true
广告