Sử dụng biểu thức chính quy
Bạn có thể tìm xem một giá trị Chuỗi cụ thể có chứa các ký tự ASCII hay không bằng cách sử dụng biểu thức chính quy sau -
\\A\\p{ASCII}*\\z
Kết quả phù hợp () phương thức của lớp String chấp nhận một biểu thức chính quy và xác minh xem chuỗi hiện tại có khớp với biểu thức đã cho hay không, nếu có thì nó trả về true, nếu không thì trả về false.
Do đó, hãy gọi các trận đấu () trên chuỗi đầu vào / bắt buộc bằng cách chuyển biểu thức chính quy được chỉ định ở trên làm tham số.
Ví dụ
import java.util.Scanner; public class OnlyASCII { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter a string value: "); String input = sc.nextLine(); //Verifying for ACCII boolean result = input.matches("\\A\\p{ASCII}*\\z"); if(result) { System.out.println("String approved"); } else { System.out.println("Contains non-ASCII values"); } } }
Đầu ra1
Enter a string value: hello how are you String approved
Đầu ra2
Enter a string value: whÿ do we fall Contains non-ASCII values
Xác minh từng ký tự
Nếu bạn chuyển đổi các ký tự ASCII thành số nguyên, tất cả các kết quả sẽ nhỏ hơn hoặc bằng 127.
-
charAt () phương thức của lớp String chấp nhận một giá trị số nguyên và trả về ký tự tại chỉ mục được chỉ định.
-
Sử dụng phương pháp này, truy xuất từng ký tự trong Chuỗi đã cho và xác minh xem chúng có lớn hơn 127.
Ví dụ
import java.util.Scanner; public class OnlyASCII { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter a string value: "); String input =sc.next(); //Converting given string to character array char charArray[] = input.toCharArray(); boolean result = true; for(int i = 0; i < input.length(); i++) { int test = (int)input.charAt(i); if (test<=127) { result = true; }else if (test >127){ result = false; } } System.out.println(result); if(result) { System.out.println("String approved"); }else { System.out.println("Contains non-ASCII values"); } } }
Đầu ra1
Enter a string value: whÿ false Contains non-ASCII values
Đầu ra2
Enter a string value: hello true String approved