जावा स्ट्रिंग्स को लिटरल डॉट पर विभाजित करने के लिए एस्केप सीक्वेंस का उपयोग करना
जब किसी जावा स्ट्रिंग को लिटरल डॉट पर विभाजित करने का प्रयास किया जाता है (""।) स्प्लिट() विधि का उपयोग करते हुए, एस्केप अनुक्रम "\" का उपयोग करके बिंदु से बचना आवश्यक है। यह क्रिया आवश्यक है क्योंकि स्प्लिट () विधि एक अनएस्केप्ड डॉट को एक नियमित अभिव्यक्ति के रूप में मानती है जो किसी भी चरित्र से मेल खाती है, जिससे अप्रत्याशित परिणाम हो सकते हैं।
उदाहरण के लिए, निम्नलिखित कोड पर विचार करें:
String filename = "D:/some folder/001.docx"; String extensionRemoved = filename.split(".")[0];
यह कोड एक ArrayIndexOutOfBoundsException फेंकता है क्योंकि इनपुट स्ट्रिंग केवल एक बिंदु है। एक बिंदु पर एक बिंदु को विभाजित करने से एक खाली सरणी उत्पन्न होती है, और चूंकि स्प्लिट() विधि परिणाम से पिछली खाली स्ट्रिंग्स को हटा देती है, एक खाली सरणी वापस आ जाती है।
इस समस्या को हल करने के लिए, बिंदु को इस प्रकार से बचाना होगा इस प्रकार है:
String extensionRemoved = filename.split("\\.")[0];
एस्केप अनुक्रम "\" का उपयोग करके, हम निर्दिष्ट करते हैं कि हम शाब्दिक डॉट कैरेक्टर पर विभाजित करना चाहते हैं, किसी कैरेक्टर पर नहीं।
यह ध्यान रखना महत्वपूर्ण है कि रेगेक्स में सिंगल बैकस्लैश बनाने के लिए डबल बैकस्लैश आवश्यक है, क्योंकि सिंगल बैकस्लैश को एस्केप कैरेक्टर के रूप में माना जाता है। जावा स्ट्रिंग शाब्दिक।
इस दृष्टिकोण का पालन करके, आप जावा स्ट्रिंग्स को शाब्दिक बिंदु पर प्रभावी ढंग से विभाजित कर सकते हैं, ArrayIndexOutOfBoundsExceptions को रोक सकते हैं और सुनिश्चित कर सकते हैं सटीक परिणाम.
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3