1. तार की तुलना करना

स्ट्रिंग्स के साथ सबसे आम ऑपरेशनों में से एक तुलना है। स्ट्रिंग क्लास में दस से अधिक अलग-अलग विधियाँ हैं जिनका उपयोग एक स्ट्रिंग की दूसरी स्ट्रिंग से तुलना करने के लिए किया जाता है। नीचे हम सात मुख्य बातों पर एक नज़र डालेंगे।

तरीकों विवरण
boolean equals(String str)
स्ट्रिंग्स को समान माना जाता है यदि उनके सभी वर्ण मेल खाते हैं।
boolean equalsIgnoreCase(String str)
अक्षरों के मामले को अनदेखा करते हुए तारों की तुलना करता है (ध्यान नहीं देता कि वे अपरकेस या लोअरकेस हैं)
int compareTo(String str)
स्ट्रिंग्स की लेक्सिकोग्राफिक रूप से तुलना करता है। यदि तार बराबर हैं तो 0 लौटाता है। यदि वर्तमान स्ट्रिंग स्ट्रिंग पैरामीटर से कम है तो वापसी मान शून्य से कम है। यदि वर्तमान स्ट्रिंग स्ट्रिंग पैरामीटर से अधिक है, तो वापसी मान अधिक है।
int compareToIgnoreCase(String str)
केस को नज़रअंदाज़ करते हुए लेक्सिकोग्राफ़िक रूप से स्ट्रिंग्स की तुलना करता है। यदि तार बराबर हैं तो 0 लौटाता है। यदि वर्तमान स्ट्रिंग स्ट्रिंग पैरामीटर से कम है तो वापसी मान ऋणात्मक है। यदि वर्तमान स्ट्रिंग स्ट्रिंग पैरामीटर से अधिक है, तो वापसी मान अधिक है।
boolean regionMatches(int toffset, String str, int offset, int len)
तार के हिस्सों की तुलना करता है
boolean startsWith(String prefix)
जाँचता है कि क्या वर्तमान स्ट्रिंग स्ट्रिंग से शुरू होती हैprefix
boolean endsWith(String suffix)
जाँचता है कि क्या वर्तमान स्ट्रिंग स्ट्रिंग के साथ समाप्त होती हैsuffix

मान लीजिए कि आप एक प्रोग्राम लिखना चाहते हैं जो उपयोगकर्ता से फ़ाइल के पथ के लिए पूछता है और फिर उसके एक्सटेंशन के आधार पर फ़ाइल प्रकार की जांच करता है। ऐसे प्रोग्राम का कोड कुछ इस तरह दिख सकता है:

कोड टिप्पणियाँ
Scanner console = new Scanner(System.in);
String path = console.nextLine();

if (path.endsWith(".jpg") || path.endsWith(".jpeg"))
{
   System.out.println("This is a jpeg!");
}
else if (path.endsWith(".htm") || path.endsWith(".html"))
{
   System.out.println("This is an HTML page");
}
else if (path.endsWith(".doc") || path.endsWith(".docx"))
{
   System.out.println("This is a Word document");
}
else
{
   System.out.println("Unknown format");
}
एक Scannerवस्तु बनाएँ
कंसोल से एक पंक्ति पढ़ें

जांचें कि स्ट्रिंग pathदिए गए स्ट्रिंग के साथ समाप्त होती है या नहीं

3
टास्क
Java Syntax,  स्तर 10सबक 4
लॉक
Task No. 1 about integer type conversions
This task begins a series of tasks about integer type conversions. This is not a very difficult topic, but it often bewilders noobies because instructors sometimes put in at the very beginning, which is fundamentally wrong. But on Level 10, you're ready. Arrange the cast operators correctly to get the required result: d > 0. The operators are in the conditions.

2. सबस्ट्रिंग्स की खोज करना

स्ट्रिंग्स की तुलना करने के बाद, दूसरा सबसे लोकप्रिय ऑपरेशन एक स्ट्रिंग को दूसरे के अंदर ढूंढ रहा है। इसके लिए स्ट्रिंग क्लास में भी कुछ तरीके हैं:

तरीकों विवरण
int indexOf(String str)
strवर्तमान स्ट्रिंग में स्ट्रिंग की खोज करता है । पहली घटना के पहले वर्ण का सूचकांक लौटाता है।
int indexOf(String str, int index)
strवर्तमान स्ट्रिंग में स्ट्रिंग की खोज करता है , पहले indexवर्णों को छोड़ देता है। घटना का सूचकांक लौटाता है।
int lastIndexOf(String str)
strअंत से शुरू करते हुए, वर्तमान स्ट्रिंग में स्ट्रिंग की खोज करता है । पहली घटना का सूचकांक लौटाता है।
int lastIndexOf(String str, int index)
पहले वर्णों को strछोड़ते हुए अंत से वर्तमान स्ट्रिंग में स्ट्रिंग की खोज करता है ।index
boolean matches(String regex)
जाँचता है कि क्या वर्तमान स्ट्रिंग रेगुलर एक्सप्रेशन द्वारा निर्दिष्ट पैटर्न से मेल खाती है।

और तरीकों का अक्सर संयोजन में उपयोग किया जाता है indexOf(String)indexOf(String, index)पहली विधि आपको वर्तमान स्ट्रिंग में पास की गई सबस्ट्रिंग की पहली घटना का पता लगाने देती है। और दूसरी विधि आपको पहले अनुक्रमणिका वर्णों को छोड़ कर दूसरी, तीसरी आदि घटनाओं को खोजने देती है।

मान लीजिए हमारे पास " https://domain.com/about/reviews " जैसा url है , और हम डोमेन नाम को " codegym.cc " से बदलना चाहते हैं। Urls में सभी प्रकार के अलग-अलग डोमेन नाम हो सकते हैं, लेकिन हम निम्नलिखित जानते हैं:

  • डोमेन नाम के पहले दो फ़ॉरवर्ड स्लैश होते हैं - " //"
  • डोमेन नाम के बाद एक सिंगल फ़ॉरवर्ड स्लैश है - " /"

इस तरह के प्रोग्राम का कोड इस तरह दिखेगा:

कोड टिप्पणियाँ
Scanner console = new Scanner(System.in);
String path = console.nextLine();

int index = path.indexOf("//");
int index2 = path.indexOf("/", index + 2);

String first = path.substring(0, index + 2);
String last = path.substring(index2);

String result = first + "codegym.cc" + last;
System.out.println(result);
एक स्कैनर वस्तु बनाएँ
कंसोल से एक पंक्ति पढ़ें

स्ट्रिंग की पहली घटना का सूचकांक प्राप्त करें " //"
हम स्ट्रिंग की पहली घटना का सूचकांक प्राप्त करते हैं /, लेकिन केवल वर्णों की एक घटना के बाद देखते हैं //.
हम वर्णों के आरंभ से अंत तक स्ट्रिंग प्राप्त करते हैं //
हम स्ट्रिंग को /अंत से प्राप्त करते हैं।

हम स्ट्रिंग्स और नए डोमेन को जोड़ते हैं।

और विधियाँ उसी तरह काम करती हैं, केवल खोज स्ट्रिंग के अंत से शुरुआत तक की जाती है lastIndexOf(String)lastIndexOf(String, index)


3
टास्क
Java Syntax,  स्तर 10सबक 4
लॉक
Task No. 2 about integer type conversions
The second task in the "Integer Type Conversions" series doesn't seem much different from the previous one at first glance. This is by design. This series was specifically created to make you a "conversion veteran" and simultaneously introduce your brain to type conversion rules in Java. Arrange the cast operators correctly to get the required result: d = 3.765. The operators are in the conditions.

3. सबस्ट्रिंग्स बनाना

स्ट्रिंग्स की तुलना करने और सबस्ट्रिंग खोजने के अलावा, एक और बहुत लोकप्रिय क्रिया है: स्ट्रिंग से सबस्ट्रिंग प्राप्त करना। जैसा कि होता है, पिछले उदाहरण ने आपको एक substring()विधि कॉल दिखाई जो एक स्ट्रिंग का हिस्सा लौटाती है।

यहां 8 विधियों की सूची दी गई है जो वर्तमान स्ट्रिंग से सबस्ट्रिंग लौटाती हैं:

तरीकों विवरण
String substring(int beginIndex, int endIndex)
इंडेक्स रेंज द्वारा निर्दिष्ट सबस्ट्रिंग देता है beginIndex..endIndex
String repeat(int count)
वर्तमान स्ट्रिंग को n बार दोहराता है
String replace(char oldChar, char newChar)
एक नया स्ट्रिंग लौटाता है: वर्ण को oldCharवर्ण से बदल देता हैnewChar
String replaceFirst(String regex, String replacement)
वर्तमान स्ट्रिंग में रेगुलर एक्सप्रेशन द्वारा निर्दिष्ट पहले सबस्ट्रिंग को प्रतिस्थापित करता है।
String replaceAll(String regex, String replacement)
मौजूदा स्ट्रिंग में रेगुलर एक्सप्रेशन से मेल खाने वाले सभी सबस्ट्रिंग को बदल देता है।
String toLowerCase()
स्ट्रिंग को लोअरकेस में कनवर्ट करता है
String toUpperCase()
स्ट्रिंग को अपरकेस में कनवर्ट करता है
String trim()
एक स्ट्रिंग के आरंभ और अंत में सभी रिक्त स्थान हटा देता है

यहाँ उपलब्ध विधियों का सारांश दिया गया है:

substring(int beginIndex, int endIndex)तरीका

विधि substringएक नया स्ट्रिंग लौटाती है जिसमें वर्तमान स्ट्रिंग में वर्ण शामिल होते हैं, जो कि वर्ण के साथ अनुक्रमणिका से शुरू होता है beginIndexऔर पर समाप्त होता है endIndex। जावा में सभी अंतरालों के साथ, अनुक्रमणिका वाला वर्ण endIndexअंतराल में शामिल नहीं है। उदाहरण:

कोड परिणाम
"Hellos".substring(0, 3);
"Hel"
"Hellos".substring(1, 4);
"ell"
"Hellos".substring(1, 6);
"ellos"
"Hellos".substring(1);
"ellos"

यदि endIndexपैरामीटर निर्दिष्ट नहीं है (जो संभव है), तो स्ट्रिंग के अंत में startIndex पर वर्ण से सबस्ट्रिंग लिया जाता है।

repeat(int n)तरीका

रिपीट मेथड बस मौजूदा स्ट्रिंग nबार को दोहराता है। उदाहरण:

कोड परिणाम
"Hello".repeat(3);
"HelloHelloHello"
"Hello".repeat(2);
"HelloHello"
"Hello".repeat(1);
"Hello"
"Hello".repeat(0);
""

replace(char oldChar, char newChar)तरीका

विधि replace()एक नया स्ट्रिंग लौटाती है जिसमें सभी वर्णों को oldCharवर्ण से बदल दिया जाता है newChar। यह स्ट्रिंग की लंबाई नहीं बदलता है। उदाहरण:

कोड परिणाम
"Programming".replace('Z', 'z');
"Programming"
"Programming".replace('g', 'd');
"Prodrammind"
"Programming".replace('a', 'e');
"Progremming"
"Programming".replace('m', 'w');
"Prograwwing"

replaceFirst()और replaceAll()तरीके

विधि replaceAll()एक सबस्ट्रिंग की सभी घटनाओं को दूसरे के साथ बदल देती है। विधि replaceFirst()पारित सबस्ट्रिंग की पहली घटना को निर्दिष्ट सबस्ट्रिंग के साथ बदल देती है। प्रतिस्थापित की जाने वाली स्ट्रिंग नियमित अभिव्यक्ति द्वारा निर्दिष्ट की जाती है। हम जावा मल्टीथ्रेडिंग खोज में रेगुलर एक्सप्रेशन में तल्लीन होंगे।

उदाहरण:

कोड परिणाम
"Good news everyone!".replaceAll("e.", "EX");
"Good nEXs EXEXyonEX"
"Good news everyone!".replaceAll("o.", "-o-");
"G-o-d news every-o-e!"
"Good news everyone!".replaceFirst("e.", "EX");
"Good nEXs everyone!"
"Good news everyone!".replaceFirst("o.", "-o-");
"G-o-d news everyone!"

toLowerCase() and toUpperCase()तरीकों

Stringहमें इन तरीकों का पता तब चला जब हमने पहली बार क्लास के तरीकों को कॉल करना सीखा ।

trim()तरीका

विधि trim()एक स्ट्रिंग से अग्रणी और अनुगामी रिक्त स्थान को हटा देती है। एक स्ट्रिंग के अंदर मौजूद रिक्त स्थान को स्पर्श न करें (यानी शुरुआत या अंत में नहीं)। उदाहरण:

कोड परिणाम
"     ".trim();
""
"Hello".trim();
"Hello"
" Hello\n how are you?\n   ".trim();
"Hello\n how are you?\n"
"  Password\n   \n ".trim();
"Password\n   \n"

3
टास्क
Java Syntax,  स्तर 10सबक 4
लॉक
Task No. 3 about integer type conversions
"Nothing organizes your thinking as much as performing integer type conversions in your head. Of course, a compiler will also suffice". And now, the third task in the "Integer Type Conversion" series. We have some variables converted to another type, but we don't have enough of them. We need to add one type cast operation to obtain the require answer.