"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं जावा स्ट्रिंग में एकाधिक सबस्ट्रिंग को कुशलतापूर्वक कैसे बदल सकता हूं?

मैं जावा स्ट्रिंग में एकाधिक सबस्ट्रिंग को कुशलतापूर्वक कैसे बदल सकता हूं?

2024-11-23 को प्रकाशित
ब्राउज़ करें:339

How Can I Efficiently Replace Multiple Substrings in a Java String?

जावा में एक स्ट्रिंग में एकाधिक सबस्ट्रिंग को कुशलतापूर्वक बदलना

जब एक स्ट्रिंग के भीतर कई सबस्ट्रिंग को बदलने की आवश्यकता का सामना करना पड़ता है, तो यह आकर्षक होता है बार-बार string.replace() विधि को लागू करने के क्रूर बल दृष्टिकोण का सहारा लें। हालाँकि, यह बड़ी स्ट्रिंग्स के लिए या कई स्ट्रिंग्स के साथ काम करते समय अक्षम हो सकता है। नियमित अभिव्यक्ति आपको जटिल खोज पैटर्न को परिभाषित करने और एक ही ऑपरेशन में पाठ परिवर्तन करने की अनुमति देती है। मानचित्र में संग्रहीत मानों के साथ �t%" और "�verage%"। अपाचे कॉमन्स लैंग से स्ट्रिंगयूटिल्स का उपयोग करके, आप निम्नानुसार एक पैटर्न और मैचर बना सकते हैं:

Map टोकन = नया HashMap(); टोकन.पुट('बिल्ली', 'गारफील्ड'); टोकन.पुट('पेय पदार्थ', 'कॉफी'); स्ट्रिंग टेम्पलेट = "t% को वास्तव में कुछ "verage%" की आवश्यकता है"; // "%(बिल्ली|पेय पदार्थ)%" प्रारूप का पैटर्न बनाएं स्ट्रिंग पैटर्नस्ट्रिंग = "%(" StringUtils.join(tokens.keySet(), "|") ")%"; पैटर्न पैटर्न = पैटर्न.कंपाइल(पैटर्नस्ट्रिंग); मिलानकर्ता मिलानकर्ता = पैटर्न मिलानकर्ता(टेम्पलेट);

इसके बाद, आप टोकन की सभी घटनाओं को ढूंढने और उन्हें संबंधित मानों के साथ बदलने के लिए मिलानकर्ता का उपयोग कर सकते हैं:

स्ट्रिंगबफ़र एसबी = नया स्ट्रिंगबफ़र(); जबकि(matcher.find()) { मैचर.एपेंडरिप्लेसमेंट(एसबी, टोकन्स.गेट(मैचर.ग्रुप(1))); } मैचर.एपेंडटेल(एसबी); System.out.println(sb.toString());

रेगुलर एक्सप्रेशन के लाभ

एक बार रेगुलर एक्सप्रेशन संकलित हो जाने के बाद, इनपुट स्ट्रिंग को खोजना आम तौर पर बहुत तेज़ होता है . इसके अतिरिक्त, नियमित अभिव्यक्तियाँ जटिल खोज पैटर्न, जैसे कि कोष्ठक और क्वांटिफायर से जुड़े पैटर्न को संभालने की लचीलापन प्रदान करती हैं।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3