java substring method tutorial with examples
यह ट्यूटोरियल जावा सबस्ट्रिंग विधि को कवर करेगा। हम सिंटैक्स, संक्षिप्त परिचय, और जावा स्थानापन्न उदाहरणों पर एक नज़र डालेंगे:
हम महत्वपूर्ण परिदृश्य-आधारित उदाहरणों के साथ-साथ अक्सर पूछे जाने वाले प्रश्नों को भी कवर करेंगे, जो इस पद्धति को और भी बेहतर ढंग से समझने में आपकी मदद करेंगे।
इस जावा ट्यूटोरियल के माध्यम से जाने पर, आप मुख्य स्ट्रिंग से किसी भी विकल्प को निकालने के लिए अपने स्वयं के कार्यक्रम बनाने की स्थिति में होंगे और उस पर आगे कोई भी ऑपरेशन करेंगे।
=> यहाँ जावा शुरुआती गाइड पर एक नज़र रखना।
आप क्या सीखेंगे:
जावा सबस्ट्रिंग ()
जैसा कि हम सभी जानते हैं कि जावा सबस्ट्रिंग मुख्य स्ट्रिंग के एक भाग के अलावा कुछ भी नहीं है।
उदाहरण के लिए ,एक स्ट्रिंग 'सॉफ्टवेयर परीक्षण' में, 'सॉफ्टवेयर' और 'परीक्षण' सबस्ट्रिंग हैं।
मुख्य स्ट्रिंग से प्रतिस्थापन को वापस करने या निकालने के लिए इस पद्धति का उपयोग किया जाता है। अब, मुख्य स्ट्रिंग से निष्कर्षण के लिए, हमें प्रतिस्थापन () विधि में प्रारंभिक सूचकांक और समाप्ति सूचकांक को निर्दिष्ट करने की आवश्यकता है।
इस विधि के दो अलग-अलग रूप हैं। इनमें से प्रत्येक फॉर्म का सिंटैक्स नीचे दिया गया है।
वाक्य - विन्यास:
String substring(int startingIndex); String substring(int startingIndex, int endingIndex);
अगले भाग में, हम इनमें से प्रत्येक रूप में बारीकी से देखेंगे।
सूचकांक शुरू करना
इस खंड में, हम जावा सबस्ट्रिंग () विधि के पहले रूप पर चर्चा करेंगे। पहला प्रपत्र दिए गए इंडेक्स पर शुरू होने वाले सबस्ट्रिंग को लौटाता है और फिर पूरे स्ट्रिंग के माध्यम से चलता है। इसलिए, जो भी आप शुरुआती सूचकांक में उल्लेख करते हैं, यह उस विशेष सूचकांक से पूरे स्ट्रिंग को वापस कर देगा।
नीचे दिया गया वह प्रोग्राम है जिसमें हमने प्रतिस्थापन के पहले रूप () पद्धति का उपयोग करके निष्कर्षण का प्रदर्शन किया है। हमने एक इनपुट स्ट्रिंग 'सॉफ्टवेयर टेस्टिंग हेल्प' लिया है और फिर इंडेक्स 9 से सबस्ट्रिंग निकाला है।
इस प्रकार, आउटपुट 'परीक्षण सहायता' होगा।
ध्यान दें: जावा स्ट्रिंग इंडेक्स हमेशा शून्य से शुरू होता है।
public class substring { public static void main(String() args) { String str = 'Software testing help'; /* * It will start from 9th index and extract * the substring till the last index */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(9)); } }
आउटपुट:
इंडेक्स शुरू करना और समाप्त करना
इस खंड में, हम विधि के दूसरे रूप के बारे में बात करेंगे। यहाँ, हम एक स्ट्रिंग स्ट्रिंग लेने जा रहे हैं 'जावा स्ट्रिंग सब्स्टिट्यूट विधि' और हम दूसरे फॉर्म का उपयोग करके सबस्ट्रिंग को निकालने का प्रयास करेंगे जो कि दोनों शुरुआती को निर्दिष्ट करने के साथ-साथ सूचकांकों को समाप्त करके निर्दिष्ट करता है।
public class substring { public static void main(String() args) { String str = 'Java String substring method'; /* * It will start from 12th index and extract * the substring till the 21st index */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(12,21)); } }
आउटपुट:
उदाहरण के साथ प्रणाली विकास जीवन चक्र चरण
जावा प्रतिस्थापन उदाहरण
परिद्रश्य 1: मुख्य स्ट्रिंग में निर्दिष्ट सूचकांक मौजूद नहीं होने पर सबस्ट्रिंग विधि का आउटपुट क्या होगा?
स्पष्टीकरण: इस परिदृश्य में, हम एक स्ट्रिंग स्ट्रिंग 'जावा प्रोग्रामिंग' लेने जा रहे हैं और हम क्रमशः इंडेक्स को शुरू और समाप्त करने के लिए 255 और 350 के रूप में सूचकांक निर्दिष्ट करने का प्रयास करेंगे।
जैसा कि हम जानते हैं, यदि स्ट्रिंग में 255 इंडेक्स संख्या नहीं है, तो उसे एक त्रुटि फेंकनी होगी। अपवाद के लिए जावा पूर्वनिर्धारित नियमों द्वारा, इसे 'सूचकांक को सीमा से बाहर' अपवाद के रूप में फेंक देना चाहिए। ऐसा इसलिए है क्योंकि हमने जिस इंडेक्स को विधि में निर्दिष्ट किया है वह दिए गए स्ट्रिंग के लिए सीमा से बाहर है।
public class substring { public static void main(String() args) { String str = 'Java Programming'; /* * It will throw an error after printing the original String. * The index we have specified is out of range for the * main String. Hence, it will throw 'String index of range' * exception */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(255,350)); } }
आउटपुट:
परिदृश्य 2: जब हम एक नकारात्मक सूचकांक मूल्य प्रदान करते हैं तो इस पद्धति का आउटपुट क्या होगा?
स्पष्टीकरण: यहाँ, हम एक इनपुट स्ट्रिंग स्ट्रिंग लेने जा रहे हैं 'जावा सबस्ट्रिंग ट्यूटोरियल्स' और हम नकारात्मक शुरुआत और अंत इंडेक्स प्रदान करने की कोशिश करेंगे और जाँचेंगे कि प्रोग्राम कैसे प्रतिक्रिया देता है।
जैसा कि जावा स्ट्रिंग इंडेक्स शून्य से शुरू होता है, इसे इंडेक्स में नकारात्मक पूर्णांक स्वीकार नहीं करना चाहिए। इसलिए कार्यक्रम को एक अपवाद फेंकना चाहिए।
त्रुटि का प्रकार फिर से 'स्ट्रिंग इंडेक्स आउट ऑफ़ रेंज' अपवाद होना चाहिए क्योंकि निर्दिष्ट स्ट्रिंग मुख्य स्ट्रिंग में मौजूद नहीं है।
public class substring { public static void main(String() args) { String str = 'Java substring Tutorials'; /* * It will throw an error after printing the original String. * The index we have specified is out of range for the * main String because the String index starts from zero. * It does not accept any negative index value. * Hence, it will throw 'String index of range' exception */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(-5,-10)); } }
आउटपुट:
परिदृश्य 3: जब हम प्रारंभ और समाप्ति अनुक्रमणिका में (0,0) प्रदान करते हैं तो सबस्ट्रिंग का आउटपुट क्या होगा?
स्पष्टीकरण: यह स्ट्रिंग प्रतिस्थापन () जावा विधि को समझने के लिए एक और बहुत अच्छा परिदृश्य है। यहां, हम एक इनपुट स्ट्रिंग “साकेत सौरव” लेंगे और ज़ीरोथ इंडेक्स से शुरू होने वाले और ज़ेरोथ इंडेक्स पर समाप्त होने वाले सबस्ट्रिंग को लाने की कोशिश करेंगे।
यह देखना दिलचस्प होगा कि कार्यक्रम कैसे प्रतिक्रिया देता है।
जैसा कि हमारे पास शुरुआत और अंत के सूचकांक हैं, यह एक खाली लौटना चाहिए। हालाँकि, प्रोग्राम इस परिदृश्य में सफलतापूर्वक संकलित करता है।
सॉफ्टवेयर परीक्षण में मूल कारण विश्लेषण
यह ऐसे सभी मूल्यों के लिए खाली लौटेगा जहां शुरुआती और समाप्ति सूचकांक समान हैं। यह (0,0) या (1,1) या (2,2) और इसी तरह रहें।
public class substring { public static void main(String() args) { String str = 'Saket Saurav'; /* * The output will be blank because of the starting and ending * indexes can not be the same. In such scenarios, the * program will return a blank value. The same is applicable * when you are giving the input index as (0,0) or (1,1) or (2,2). * and so on. */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(0,0)); } }
आउटपुट:
बार बार पूछे जाने वाले प्रश्न
Q # 1) जावा में एक स्ट्रिंग को सब्सट्रिंग में कैसे विभाजित करें? सब्सट्रिंग से फिर से एक ही स्ट्रिंग कैसे बनाएं?
उत्तर: नीचे कार्यक्रम है जहां हमने एक इनपुट स्ट्रिंग लिया है और स्टार्टिंग को समाप्त करने और अनुक्रमणिका को निर्दिष्ट करके स्ट्रिंग को सब्सट्रिंग में विभाजित किया है।
फिर से हमने स्ट्रिंग स्ट्रिंग कॉनैट ऑपरेटर की मदद से सब्सट्रिंग्स का उपयोग करके एक ही स्ट्रिंग बनाया है।
public class substring { public static void main(String() args) { String str = 'Saket Saurav'; // created two substrings substr1 and substr2 String substr1 = str.substring(0,6); String substr2 = str.substring(6,12); //Printed main String as initialized System.out.println(str); //Printed substr1 System.out.println(substr1); //Printed substr2 System.out.println(substr2); //Printed main String from two substrings System.out.println(substr1 +substr2 ); } }
आउटपुट:
क्यू # 2) कैसे पता लगाएं कि एक स्ट्रिंग जावा में दूसरे का विकल्प है?
उत्तर: नीचे कार्यक्रम है जहाँ हमने एक इनपुट लिया है स्ट्रिंग 'प्रतिस्थापन का उदाहरण'। उसके बाद, हमने एक सबस्ट्रिंग प्राप्त किया है और एक स्ट्रिंग चर 'रूट' में संग्रहीत किया है। इसके बाद, हमने जाँच की है कि स्ट्रिंग में मुख्य स्ट्रिंग का एक हिस्सा है या नहीं, यह जानने के लिए जावा सम्मिलित किया है।
public class substring { public static void main(String() args) { String str = 'Example of the substring'; // created a substring substr String substr = str.substring(8,10); //Printed substring System.out.println(substr); /* * used .contains() method to check the substring (substr) is a * part of the main String (str) or not */ if(str.contains(substr)) { System.out.println('String is a part of the main String'); } else { System.out.println('String is not a part of the main String'); } } }
आउटपुट:
क्यू # 3) जावा में प्रतिस्थापन () विधि का रिटर्न प्रकार क्या है?
उत्तर: जैसा कि हम जानते हैं, स्ट्रिंग वर्ग अपरिवर्तनीय है और सबस्ट्रिंग () विधि स्ट्रिंग वर्ग की एक अंतर्निर्मित विधि है। हर बार जब आप स्ट्रिंग पर एक ऑपरेशन करते हैं, तो बाद वाला स्ट्रिंग एक नया स्ट्रिंग होता है जिसे वापस कर दिया जाता है।
यही बात इस पद्धति के साथ भी होती है। हर बार जब हम प्रतिस्थापन () विधि कहते हैं, परिणामी स्ट्रिंग एक नई स्ट्रिंग है। इसलिए, जावा में इस पद्धति का रिटर्न प्रकार एक स्ट्रिंग है।
क्यू # 4) स्ट्रिंग धागा जावा में सुरक्षित है?
उत्तर: हाँ। स्ट्रिंगबफ़र की तरह, स्ट्रिंग भी जावा में थ्रेड-सुरक्षित है। इसका मतलब यह है कि स्ट्रिंग का उपयोग किसी दिए गए बिंदु पर केवल एक थ्रेड द्वारा किया जा सकता है और यह एक साथ स्ट्रिंग का उपयोग करके दो थ्रेड्स की अनुमति नहीं देता है।
क्यू # 5) एक स्ट्रिंग को शुरू करने के लिए दो अलग-अलग दृष्टिकोणों के बीच अंतर क्या है?
स्ट्रिंग str1 = 'एबीसी';
स्ट्रिंग str2 = नया स्ट्रिंग ('एबीसी');
उत्तर: कोड की दोनों पंक्तियाँ आपको स्ट्रिंग ऑब्जेक्ट देगी। अब हम अंतरों को सूचीबद्ध कर सकते हैं।
कोड की पहली पंक्ति किसी मौजूदा ऑब्जेक्ट को स्ट्रिंग पूल से लौटाएगी जबकि कोड की दूसरी पंक्ति जहां स्ट्रिंग को 'नए' ऑपरेटर की मदद से बनाया गया है, वह हमेशा एक नई ऑब्जेक्ट लौटाएगा जो हीप मेमोरी में बनाई गई है।
हालाँकि दोनों लाइनों में 'ABC' 'बराबर' है, लेकिन यह '==' नहीं है।
अब निम्नलिखित कार्यक्रम लेते हैं।
यहां हमने तीन स्ट्रिंग वैरिएबल को इनिशियलाइज़ किया है। पहली तुलना str1 और str2 के लिए '==' संदर्भ तुलना के आधार पर की जाती है जो सच है। ऐसा इसलिए है क्योंकि उन्होंने स्ट्रिंग पूल से उसी मौजूदा वस्तु का उपयोग किया है।
दूसरी तुलना str1 और str3 पर '==' का उपयोग करके की गई थी, जहां संदर्भ तुलना भिन्न होती है क्योंकि स्ट्रिंग ऑब्जेक्ट str3 के एक भाग के रूप में था जो 'नए' ऑपरेटर की मदद से नया बनाया गया है। इसलिए, यह गलत है।
तीसरी तुलना “.equals ()” विधि की सहायता से की गई थी जो str1 और str3 द्वारा निहित मूल्यों की तुलना में थी। दोनों स्ट्रिंग वैरिएबल का मूल्य समान है यानी वे समान हैं। इसलिए, यह सच है।
public class substring { public static void main(String() args) { String str1 = 'ABC'; String str2 = 'ABC'; /* * True because '==' works on the reference comparison and * str1 and str2 have used the same existing object from * the String pool */ System.out.println(str1 == str2); String str3 = new String ('ABC'); /* * False because str1 and str3 have not the same reference * type */ System.out.println(str1==str3); /* * True because '.equals' works on comparing the value contained * by the str1 and str3. */ System.out.println(str1.equals(str3)); } }
आउटपुट:
निष्कर्ष
इस ट्यूटोरियल में, हमने प्रतिस्थापन () विधि के विभिन्न रूपों पर चर्चा की है। साथ ही, हमने अक्सर पूछे जाने वाले प्रश्नों के साथ कई परिदृश्य-आधारित प्रश्नों को शामिल किया है, जो आपको विधि को विस्तार से समझने में मदद करते हैं।
आगे पढ़ना = >> MySQL प्रतिस्थापन समारोह
सिंटेक्स, प्रोग्रामिंग उदाहरण और हर परिदृश्य और अवधारणा के लिए विस्तृत विश्लेषण को यहां शामिल किया गया था। यह निश्चित रूप से प्रतिस्थापन () विधि के अपने स्वयं के कार्यक्रमों को विकसित करने और प्रत्येक बाद के स्ट्रिंग पर विभिन्न स्ट्रिंग हेरफेर संचालन करने में आपकी सहायता करेगा।
=> आसान जावा प्रशिक्षण श्रृंखला के माध्यम से पढ़ें।
अनुशंसित पाठ
- जावा स्ट्रिंग ट्यूटोरियल | उदाहरण के साथ जावा स्ट्रिंग के तरीके
- जावा रिवर्स स्ट्रिंग: प्रोग्रामिंग उदाहरणों के साथ ट्यूटोरियल
- जावा स्ट्रिंग स्प्लिट () विधि - जावा में स्ट्रिंग को कैसे विभाजित करें
- जावा स्ट्रिंग तुलनात्मक उदाहरण प्रोग्रामिंग के साथ विधि
- जावा स्ट्रिंग में () विधि ट्यूटोरियल विथ उदाहरण हैं
- जावा स्ट्रिंग लंबाई () उदाहरणों के साथ विधि
- जावा स्ट्रिंग ऐरे- कोड उदाहरणों के साथ ट्यूटोरियल
- जावा ट्यूटोरियल फॉर बिगिनर्स: 100+ हैंड्स-ऑन जावा वीडियो ट्यूटोरियल