रेगुलर एक्सप्रेशन "[!._,'@?//s]" सभी विराम चिह्नों और रिक्त स्थान से मेल खाता है।
उदाहरण
आयात करें a.sample"पाठ, विराम चिह्न के साथ! अंक"; पैटर्न p =Pattern.compile("[!._,'@?//s]"); matcher m =p.matcher(input); int count =0; जबकि(m.find ()) {गिनती++; } System.out.println("मैचों की संख्या:"+गिनती); }}आउटपुट
मैचों की संख्या:8
विभाजन () स्ट्रिंग क्लास की विधि एक नियमित अभिव्यक्ति का प्रतिनिधित्व करने वाले मान को स्वीकार करती है और वर्तमान स्ट्रिंग को टोकन (शब्दों) की सरणी में विभाजित करती है, दो मैचों की घटना के बीच स्ट्रिंग को एक टोकन के रूप में मानते हुए।
उदाहरण के लिए, यदि आप इस विधि के लिए एक सीमांकक के रूप में एकल स्थान " " पास करते हैं और एक स्ट्रिंग को विभाजित करने का प्रयास करते हैं। यह विधि दो रिक्त स्थान के बीच के शब्द को एक टोकन मानती है और वर्तमान स्ट्रिंग में शब्दों की एक सरणी (रिक्त स्थान के बीच) लौटाती है।
इसलिए, प्रत्येक स्थान और विराम चिह्न पर एक स्ट्रिंग को विभाजित करने के लिए, ऊपर निर्दिष्ट रेगुलर एक्सप्रेशन को एक पैरामीटर के रूप में पास करके उस पर विभाजित () विधि लागू करें।
उदाहरण
आयात करें System.out.println ("एक स्ट्रिंग दर्ज करें:"); स्कैनर एससी =नया स्कैनर (System.in); स्ट्रिंग इनपुट =sc.nextLine (); StringTokenizer str =नया StringTokenizer (इनपुट, रेगेक्स); जबकि (str.hasMoreTokens ()) {System.out.println (str.nextToken ()); } }}आउटपुट
एक स्ट्रिंग दर्ज करें:यह है!a.नमूना पाठ, विराम चिह्न के साथ!