POSIX कैरेक्टर क्लास \p{ASCII} ASCII कैरेक्टर्स से मिलान करती है और मेटा कैरेक्टर ^ नेगेशन के रूप में कार्य करता है।
अर्थात निम्नलिखित एक्सप्रेशन सभी नॉन-ASCII कैरेक्टर्स से मिलान करती है।
"[^\\p{ASCII}]"String क्लास का replaceAll() मेथड एक रेगुलर एक्सप्रेशन और एक रिप्लेसमेंट स्ट्रिंग स्वीकार करता है, और वर्तमान स्ट्रिंग के कैरेक्टर्स (दिए गए पैटर्न से मिलान करने वाले) को निर्दिष्ट रिप्लेसमेंट स्ट्रिंग से बदल देता है।
इसलिए, आप मिलान किए गए कैरेक्टर्स को खाली स्ट्रिंग "" से बदलकर हटा सकते हैं, replaceAll() मेथड का उपयोग करके।
उदाहरण 1
import java.util.Scanner;
public class Exp {
public static void main( String args[] ) {
Scanner sc = new Scanner(System.in);
String regex = "[^\\p{ASCII}]";
System.out.println("Enter input data:");
String input = sc.nextLine();
String result = input.replaceAll(regex, "");
System.out.println("Result: "+result);
}
}आउटपुट
Enter input data: whÿ do we fall Result: wh do we fall
उदाहरण 2
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main( String args[] ) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter input string: ");
String input = sc.nextLine();
String regex = "[^\\p{ASCII}]";
// पैटर्न ऑब्जेक्ट बनाना
Pattern pattern = Pattern.compile(regex);
// स्ट्रिंग में कंपाइल्ड पैटर्न का मिलान
Matcher matcher = pattern.matcher(input);
// खाली स्ट्रिंग बफर बनाना
StringBuffer sb = new StringBuffer();
while (matcher.find()) {
matcher.appendReplacement(sb, "");
}
matcher.appendTail(sb);
System.out.println("Result: \n"+ sb.toString() );
}
}आउटपुट
Enter input string: whÿ do we fall Result: wh do we fall