निम्नलिखित रेगुलर एक्सप्रेशन सभी विशेष वर्णों से मेल खाता है अर्थात अंग्रेजी वर्णमाला के रिक्त स्थान और अंकों को छोड़कर सभी वर्ण।
"[^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("Result: "+inputData+specialChars); } }
आउटपुट
Result: sample text with special characters#*&@
उदाहरण 2
निम्नलिखित जावा प्रोग्राम है जो रेगेक्स पैकेज के तरीकों का उपयोग करके एक स्ट्रिंग के विशेष वर्णों को उसके अंत तक ले जाता है।
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("Input string: \n"+input); //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Matching the compiled pattern in the String Matcher matcher = pattern.matcher(input); //Creating an empty string buffer StringBuffer sb = new StringBuffer(); while (matcher.find()) { specialChars = specialChars+matcher.group(); matcher.appendReplacement(sb, ""); } matcher.appendTail(sb); System.out.println("Result: \n"+ sb.toString()+specialChars ); } }
आउटपुट
Input string: sample # text * with & special@ characters Result: sample text with special characters#*&@