একটি স্ট্রিং আলফাবেটের জন্য ভ্যালিডেট করতে আপনি হয় স্ট্রিং-এর প্রতিটি ক্যারেক্টার ইংরেজি আলফাবেটের ক্যারেক্টারlerle (দুই কেসে) তুলনা করতে পারেন, অথবা রেগুলার এক্সপ্রেশন ব্যবহার করতে পারেন।
উদাহরণ ১: ক্যারেক্টার दर ক্যারেক্টার চেক
নিচের প্রোগ্রাম ইউজার থেকে একটি স্ট্রিং ভ্যালু (নাম) নেয় এবং প্রতিটি ক্যারেক্টার ইংরেজি আলফাবেটের ক্যারেক্টারlerle তুলনা করে বের করে দেওয়া স্ট্রিংটি প্রপার নাম কিনা।
import java.util.Scanner;
public class ValidatingString {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter your name: ");
String str = sc.next();
boolean flag = true;
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if (!(ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z')) {
flag = false;
}
}
if (flag)
System.out.println("Given string is a proper name.");
else
System.out.println("Given string is not a proper name.");
}
}
আউটপুট ১
Enter your name: krishna45
Given string is not a proper name.
আউটপুট ২
Enter your name: kasyap
Given string is a proper name.
উদাহরণ ২: রেগুলার এক্সপ্রেশন ব্যবহার করে
নিচের প্রোগ্রাম ইউজার থেকে একটি স্ট্রিং ভ্যালু (নাম) নেয় এবং রেগুলার এক্সপ্রেশন ব্যবহার করে বের করে দেওয়া স্ট্রিংটি প্রপার নাম কিনা।
import java.util.Scanner;
public class ValidatingString2 {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter your name: ");
String str = sc.next();
if ((!str.equals(null)) && str.matches("^[a-zA-Z]*$"))
System.out.println("Given string is a proper name.");
else
System.out.println("Given string is not a proper name.");
}
}
আউটপুট ১
Enter your name: krishna45
Given string is not a proper name.
আউটপুট ২
Enter your name: kasyap
Given string is a proper name.
ব্যাখ্যা: রেগেক্স ^[a-zA-Z]*$ মানে স্ট্রিংটি শুধু a-z বা A-Z ক্যারেক্টার ধারণ করবে (শূন্য বা অধিক বার)। matches() মেথড পুরো স্ট্রিং ম্যাচ করে।