निम्नलिखित रेगुलर एक्सप्रेशन सभी विशेष वर्णों से मिलान करता है यानी अंग्रेजी वर्णमाला, स्पेस और अंकों को छोड़कर सभी वर्ण:
"[^a-zA-Z0-9\\s+]"
दिए गए लाइन के अंत में सभी विशेष वर्णों को ले जाने के लिए, इस रेगुलर एक्सप्रेशन का उपयोग करके सभी विशेष वर्णों से मिलान करें, उन्हें एक खाली स्ट्रिंग में जोड़ें और शेष वर्णों को दूसरी स्ट्रिंग में जोड़ें, अंत में इन दोनों स्ट्रिंग्स को जोड़ें।
उदाहरण 1 (मैन्युअल पुनरावृति का उपयोग करके)
public class RemovingSpecialCharacters {
public static void main(String args[]) {
String input = "sample # text * with & special@ characters";
String regex = "[^a-zA-Z0-9\\s+]";
String specialChars = "";
String inputData = "";
for(int i=0; i < input.length(); i++) {
char ch = input.charAt(i);
if(String.valueOf(ch).matches(regex)) {
specialChars = specialChars + ch;
} else {
inputData = inputData + ch;
}
}
System.out.println("परिणाम: " + inputData + specialChars);
}
}
आउटपुट
परिणाम: sample text with special characters#*&@
उदाहरण 2 (Regex पैकेज के मेथड का उपयोग करके)
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String args[]) {
String input = "sample # text * with & special@ characters";
String regex = "[^a-zA-Z0-9\\s+]";
String specialChars = "";
System.out.println("इनपुट स्ट्रिंग: \n" + input);
// पैटर्न ऑब्जेक्ट बनाना
Pattern pattern = Pattern.compile(regex);
// स्ट्रिंग में कंपाइल्ड पैटर्न का मिलान
Matcher matcher = pattern.matcher(input);
// खाली स्ट्रिंग बफर बनाना
StringBuffer sb = new StringBuffer();
while (matcher.find()) {
specialChars = specialChars + matcher.group();
matcher.appendReplacement(sb, "");
}
matcher.appendTail(sb);
System.out.println("परिणाम: \n" + sb.toString() + specialChars);
}
}
आउटपुट
इनपुट स्ट्रिंग: sample # text * with & special@ characters परिणाम: sample text with special characters#*&@