एक बार जब आप आवश्यक रेगुलर एक्सप्रेशन को संकलित कर लेते हैं और इनपुट स्ट्रिंग को मैचर () विधि के पैरामीटर के रूप में पास करके मैचर ऑब्जेक्ट को पुनः प्राप्त कर लेते हैं।
आप इनपुट स्ट्रिंग के सभी मिलान किए गए हिस्सों को मैचर वर्ग की replaceAll() विधि का उपयोग करके किसी अन्य str4ing से बदल सकते हैं।
यह विधि एक स्ट्रिंग (प्रतिस्थापन स्ट्रिंग) को स्वीकार करती है और इनपुट स्ट्रिंग के सभी मिलानों को इसके साथ बदल देती है और परिणाम लौटाती है।
उदाहरण 1
आयात करें ।में); System.out.println ("इनपुट टेक्स्ट दर्ज करें:"); स्ट्रिंग इनपुट =sc.nextLine (); स्ट्रिंग रेगेक्स ="\\ टी +"; // एक पैटर्न ऑब्जेक्ट बनाना पैटर्न पैटर्न =Pattern.compile(regex); // स्ट्रिंग मैचर मैचर =पैटर्न.मैचर (इनपुट) में संकलित पैटर्न का मिलान करना; इंट काउंट =0; जबकि (matcher.find ()) {गिनती++; } System.out.println ("मिलानों की संख्या:" + गिनती); स्ट्रिंग परिणाम =matcher.replaceAll (""); System.out.println ("परिणाम:" + परिणाम); }}आउटपुट
इनपुट टेक्स्ट दर्ज करें:टैब स्पेस के साथ सैंपल टेक्स्टमैच की संख्या:4परिणाम:टैब स्पेस के साथ सैंपल टेक्स्ट
इसी तरह आप मैचर क्लास के रिप्लेसफर्स्ट () मेथड का इस्तेमाल करके पहले मैच को रिप्लेस कर सकते हैं।
उदाहरण 2
आयात करें ।में); System.out.println ("इनपुट टेक्स्ट दर्ज करें:"); स्ट्रिंग इनपुट =sc.nextLine (); स्ट्रिंग रेगेक्स ="\\ d"; // एक पैटर्न ऑब्जेक्ट बनाना पैटर्न पैटर्न =Pattern.compile(regex); // स्ट्रिंग मैचर मैचर =पैटर्न.मैचर (इनपुट) में संकलित पैटर्न का मिलान करना; इंट काउंट =0; जबकि (matcher.find ()) {गिनती++; } System.out.println ("मिलानों की संख्या:" + गिनती); स्ट्रिंग परिणाम =matcher.replaceFirst ("#"); System.out.println ("परिणाम:" + परिणाम); }}आउटपुट
इनपुट टेक्स्ट दर्ज करें:परीक्षण डेटा 1 2 3मिलानों की संख्या:3परिणाम:परीक्षण डेटा # 2 3