Java उदाहरण के साथ स्ट्रिंग हेरफेर
स्ट्रिंग्स क्या हैं? Java?
शाब्दिक अर्थ में एक स्ट्रिंग वर्णों की एक श्रृंखला है। अरे, क्या आपने वर्ण कहा, क्या यह एक आदिम डेटा प्रकार नहीं है? Java. हाँ, तो तकनीकी शब्दों में, बुनियादी Java स्ट्रिंग मूलतः वर्णों की एक सारणी है।
तो मेरी उपरोक्त स्ट्रिंग “ROSE” को निम्नलिखित रूप में दर्शाया जा सकता है –
स्ट्रिंग्स का उपयोग क्यों करें?
आधुनिक कंप्यूटर विज्ञान का एक प्राथमिक कार्य मानव भाषा का प्रसंस्करण करना है।
गणित के लिए संख्याएँ जिस तरह महत्वपूर्ण हैं, उसी तरह भाषा के प्रतीक अर्थ और निर्णय लेने के लिए महत्वपूर्ण हैं। हालाँकि यह कंप्यूटर उपयोगकर्ताओं को दिखाई नहीं दे सकता है, लेकिन कंप्यूटर पृष्ठभूमि में भाषा को कैलकुलेटर की तरह सटीक और सटीक तरीके से संसाधित करता है। सहायता संवाद निर्देश प्रदान करते हैं। मेनू विकल्प प्रदान करते हैं। और डेटा डिस्प्ले भाषा में स्थितियाँ, त्रुटियाँ और वास्तविक समय में होने वाले परिवर्तन दिखाते हैं।
एक के रूप में Java प्रोग्रामर, भाषा को संग्रहीत करने और प्रसंस्करण के लिए आपके मुख्य उपकरणों में से एक स्ट्रिंग क्लास होगा।
स्ट्रिंग सिंटैक्स उदाहरण
अब, आइए कुछ वाक्यविन्यास पर आते हैं, आखिरकार, हमें इसे लिखने की आवश्यकता है Java कोड यह नहीं है.
स्ट्रिंग वर्णों की एक सरणी है, जिसे इस प्रकार दर्शाया जाता है:
//String is an array of characters char[] arrSample = {'R', 'O', 'S', 'E'}; String strSample_1 = new String (arrSample);
तकनीकी शब्दों में, स्ट्रिंग को उपरोक्त उदाहरण में निम्नानुसार परिभाषित किया गया है-
= new (argument);
अब हम हमेशा अपने स्ट्रिंग्स को ऐरे के रूप में नहीं लिख सकते हैं; इसलिए हम स्ट्रिंग को परिभाषित कर सकते हैं Java के रूप में इस प्रकार है:
//Representation of String String strSample_2 = "ROSE";
तकनीकी शब्दों में, उपरोक्त को इस प्रकार दर्शाया गया है:
= ;
RSI स्ट्रिंग क्लास Java फैली la ऑब्जेक्ट वर्ग.
स्ट्रिंग संयोजन:
संयोजन दो या दो से अधिक स्ट्रिंग्स को जोड़ना है।
नीचे दी गई तस्वीर पर एक नजर डालें-
हमारे पास दो स्ट्रिंग हैं str1 = “रॉक” और str2 = “स्टार”
यदि हम इन दो स्ट्रिंग्स को जोड़ते हैं, तो हमें परिणाम str3 = “RockStar” प्राप्त होगा।
नीचे दिए गए कोड स्निपेट की जांच करें, और यह स्ट्रिंग संयोजन करने के दो तरीकों को समझाता है।
पहला उपयोग है “concatस्ट्रिंग क्लास की "विधि और दूसरा अंकगणितीय "+" ऑपरेटर का उपयोग कर रहा है। दोनों परिणाम एक ही आउटपुट में हैं
public class Sample_String{ public static void main(String[] args){ //String Concatenation String str1 = "Rock"; String str2 = "Star"; //Method 1 : Using concat String str3 = str1.concat(str2); System.out.println(str3); //Method 2 : Using "+" operator String str4 = str1 + str2; System.out.println(str4); } }
अपेक्षित उत्पादन:
RockStar RockStar
महत्त्वपूर्ण Java स्ट्रिंग विधियाँ:
आइये पूछते हैं Java स्ट्रिंग क्लास से कुछ प्रश्न पूछें और देखें कि क्या वह उनका उत्तर दे सकता है:
स्ट्रिंग “लंबाई” विधि
आप दिए गए स्ट्रिंग की लंबाई कैसे निर्धारित करेंगे? मैंने "लंबाई" नामक एक विधि प्रदान की है। लंबाई ज्ञात करने के लिए आपको जिस स्ट्रिंग की आवश्यकता है, उसके विरुद्ध इसका उपयोग करें।
public class Sample_String{ public static void main(String[] args){ //Our sample string for this tutorial String str_Sample = "RockStar"; //Length of a String System.out.println("Length of String: " + str_Sample.length());}}
अपेक्षित उत्पादन:
Length of String: 8
स्ट्रिंग “indexOf” विधि
अगर मुझे लंबाई पता है, तो मैं कैसे पता लगाऊंगा कि कौन सा अक्षर किस स्थिति में है? संक्षेप में, मैं किसी अक्षर का सूचकांक कैसे पता लगाऊंगा?
आपने स्वयं ही उत्तर दे दिया, दोस्त, एक “indexOf” विधि है जो आपके द्वारा निर्दिष्ट विशिष्ट वर्ण का स्थान निर्धारित करने में आपकी सहायता करेगी।
public class Sample_String{ public static void main(String[] args){//Character at position String str_Sample = "RockStar"; System.out.println("Character at position 5: " + str_Sample.charAt(5)); //Index of a given character System.out.println("Index of character 'S': " + str_Sample.indexOf('S'));}}
अपेक्षित उत्पादन:
Character at position 5: t Index of character 'S': 4
स्ट्रिंग “charAt” विधि
उपरोक्त प्रश्न के समान, दिए गए सूचकांक के अनुसार, मैं उस स्थान पर वर्ण को कैसे जान सकता हूँ?
फिर से सरल!! “charAt” विधि का उपयोग करें और वह इंडेक्स प्रदान करें जिसका चरित्र आपको ढूंढना है।
public class Sample_String{ public static void main(String[] args){//Character at position String str_Sample = "RockStar"; System.out.println("Character at position 5: " + str_Sample.charAt(5));}}
अपेक्षित उत्पादन:
Character at position 5: t
स्ट्रिंग “CompareTo” विधि
क्या मैं यह जाँचना चाहता हूँ कि किसी विधि द्वारा उत्पन्न स्ट्रिंग उस चीज़ के बराबर है जिसे मैं सत्यापित करना चाहता हूँ? मैं दो स्ट्रिंग की तुलना कैसे करूँ?
“compareTo” विधि का उपयोग करें और वह स्ट्रिंग निर्दिष्ट करें जिसकी आप तुलना करना चाहते हैं।
यदि आप परिणाम को केस सेंसिटिव नहीं बनाना चाहते तो “compareToIgnoreCase” का उपयोग करें।
यदि तर्क स्ट्रिंग इस स्ट्रिंग के बराबर है, तो परिणाम का मान 0 होगा; यदि यह स्ट्रिंग शब्दकोषीय रूप से स्ट्रिंग तर्क से कम है, तो परिणाम का मान 0 से कम होगा; तथा यदि यह स्ट्रिंग शब्दकोषीय रूप से स्ट्रिंग तर्क से अधिक है, तो परिणाम का मान 0 से अधिक होगा।
public class Sample_String{ public static void main(String[] args){//Compare to a String String str_Sample = "RockStar"; System.out.println("Compare To 'ROCKSTAR': " + str_Sample.compareTo("rockstar")); //Compare to - Ignore case System.out.println("Compare To 'ROCKSTAR' - Case Ignored: " + str_Sample.compareToIgnoreCase("ROCKSTAR"));}}
अपेक्षित उत्पादन:
Compare To 'ROCKSTAR': -32 Compare To 'ROCKSTAR' - Case Ignored: 0
स्ट्रिंग “Contain” विधि
मुझे आंशिक रूप से पता है कि स्ट्रिंग में क्या होना चाहिए था, मैं कैसे पुष्टि करूं कि स्ट्रिंग में मेरे द्वारा निर्दिष्ट वर्णों का अनुक्रम है?
विधि का उपयोग करें “शामिल हैं” और उन अक्षरों को निर्दिष्ट करें जिन्हें आपको जांचना है।
रिटर्न <strong>उद्देश्य</strong> यदि और केवल यदि इस स्ट्रिंग में वर्ण मानों का निर्दिष्ट अनुक्रम शामिल हो।
public class Sample_String{ public static void main(String[] args){ //Check if String contains a sequence String str_Sample = "RockStar"; System.out.println("Contains sequence 'tar': " + str_Sample.contains("tar"));}}
अपेक्षित उत्पादन:
Contains sequence 'tar': true
स्ट्रिंग “endsWith” विधि
मैं कैसे पुष्टि करूँ कि कोई स्ट्रिंग किसी विशेष प्रत्यय के साथ समाप्त होती है? फिर से आपने इसका उत्तर दिया। “endsWith” विधि का उपयोग करें और तर्कों में प्रत्यय निर्दिष्ट करें।
रिटर्न <strong>उद्देश्य</strong> यदि तर्क द्वारा दर्शाया गया वर्ण अनुक्रम इस ऑब्जेक्ट द्वारा दर्शाए गए वर्ण अनुक्रम का प्रत्यय है।
public class Sample_String{ public static void main(String[] args){ //Check if ends with a particular sequence String str_Sample = "RockStar"; System.out.println("EndsWith character 'r': " + str_Sample.endsWith("r"));}}
अपेक्षित उत्पादन:
EndsWith character 'r': true
स्ट्रिंग “replaceAll” और “replaceFirst” विधि
मैं अपनी स्ट्रिंग को कई स्थानों पर संशोधित करना चाहता हूं और स्ट्रिंग के कई हिस्सों को प्रतिस्थापित करना चाहता हूं?
Java स्ट्रिंग रिप्लेस, रिप्लेसऑल और रिप्लेसफर्स्ट विधियाँ। आप स्ट्रिंग के उस भाग को निर्दिष्ट कर सकते हैं जिसे आप प्रतिस्थापित करना चाहते हैं और तर्कों में प्रतिस्थापन स्ट्रिंग।
public class Sample_String{ public static void main(String[] args){//Replace Rock with the word Duke String str_Sample = "RockStar"; System.out.println("Replace 'Rock' with 'Duke': " + str_Sample.replace("Rock", "Duke"));}}
अपेक्षित उत्पादन:
Replace 'Rock' with 'Duke': DukeStar
तार Java “टोलोअरकेस” और Java “टूअपरकेस” विधि
मैं चाहता हूं कि मेरी पूरी स्ट्रिंग लोअर केस या अपरकेस में दिखाई जाए?
बस उन स्ट्रिंग्स के लिए “toLowercase()” या “ToUpperCase()” विधियों का उपयोग करें जिन्हें परिवर्तित करने की आवश्यकता है।
public class Sample_String{ public static void main(String[] args){//Convert to LowerCase String str_Sample = "RockStar"; System.out.println("Convert to LowerCase: " + str_Sample.toLowerCase()); //Convert to UpperCase System.out.println("Convert to UpperCase: " + str_Sample.toUpperCase());}}
अपेक्षित उत्पादन:
Convert to LowerCase: rockstar Convert to UpperCase: ROCKSTAR
ध्यान देने योग्य महत्वपूर्ण बिंदु:
- स्ट्रिंग एक अंतिम वर्ग है; यानी एक बार बनाए गए मान को बदला नहीं जा सकता। इस प्रकार स्ट्रिंग ऑब्जेक्ट्स को अपरिवर्तनीय कहा जाता है।
- RSI Java वर्चुअल मशीन (JVM) विशेष रूप से स्ट्रिंग्स के लिए एक मेमोरी स्थान बनाता है जिसे कहा जाता है स्ट्रिंग कॉन्स्टेंटपूल. यही कारण है कि स्ट्रिंग को 'new' कीवर्ड के बिना आरंभ किया जा सकता है।
- स्ट्रिंग वर्ग इसके अंतर्गत आता है java.lang.String पदानुक्रम. लेकिन इस वर्ग को आयात करने की कोई आवश्यकता नहीं है. Java प्लेटफ़ॉर्म उन्हें स्वचालित रूप से प्रदान करता है।
- तार संदर्भ को ओवरराइड किया जा सकता है लेकिन इससे सामग्री नष्ट नहीं होती; यानि, अगर
स्ट्रिंग h1 = “हैलो”;
h1 = “हैलो” + “दुनिया”;
तो “hello” स्ट्रिंग डिलीट नहीं होगी। बस इसका हैंडल खो जाएगा।
- एकाधिक संदर्भ एक ही स्ट्रिंग के लिए इस्तेमाल किया जा सकता है लेकिन यह एक ही स्थान पर घटित होना; यानि, अगर
स्ट्रिंग h1 = “हैलो”;
स्ट्रिंग h2 = “हैलो”;
स्ट्रिंग h3 = “हैलो”;
फिर मेमोरी में स्ट्रिंग “हेल्लो” के लिए केवल एक पूल बनाया जाता है जिसमें 3 संदर्भ होते हैं- h1, h2, h3
- एक तो संख्या " " में उद्धृत है तो यह एक स्ट्रिंग बन जाता हैअब कोई संख्या नहीं है। इसका मतलब है कि अगर
स्ट्रिंग S1 =”संख्या है: “+ “123”+”456″;
प्रणाली.आउट.println(एस१);
तो यह प्रिंट करेगा: संख्या है: 123456
यदि आरंभीकरण इस प्रकार है:
स्ट्रिंग S1 = “संख्या है: “+(123+456);
सिस्टम.आउट.प्रिंटलाइन(S1);
तो यह प्रिंट करेगा: संख्या है:579
स्ट्रिंग्स के लिए बस इतना ही!