Kotlin
स्ट्रिंग्स
खोज…
स्ट्रिंग के तत्व
स्ट्रिंग के तत्व ऐसे अक्षर हैं जिन्हें अनुक्रमण ऑपरेशन string[index]
द्वारा एक्सेस किया जा सकता है।
val str = "Hello, World!"
println(str[1]) // Prints e
स्ट्रिंग तत्वों को फ़ॉर-लूप के साथ पुनरावृत्त किया जा सकता है।
for (c in str) {
println(c)
}
स्ट्रिंग साहित्य
कोटलिन के दो प्रकार के स्ट्रिंग शाब्दिक हैं:
- बच गए तार
- कच्चा तार
बच गए स्ट्रिंग विशेष पात्रों को उनसे बचकर निकलते हैं। बचना एक बैकस्लैश के साथ किया जाता है। निम्नलिखित भागने दृश्यों समर्थित हैं: \t
, \b
, \n
, \r
, \'
, \"
, \\
और \$
किसी अन्य चरित्र सांकेतिक शब्दों में बदलना करने के लिए, यूनिकोड एस्केप अनुक्रम सिंटैक्स का उपयोग करें:। \uFF00
।
val s = "Hello, world!\n"
रॉ स्ट्रिंग को एक ट्रिपल उद्धरण """
द्वारा सीमांकित किया गया है, जिसमें कोई बच नहीं है और इसमें नई वर्णमाला और अन्य वर्ण हो सकते हैं
val text = """
for (c in "foo")
print(c)
"""
अग्रणी व्हाट्सएप को ट्रिमरमैजिन () फ़ंक्शन के साथ हटाया जा सकता है।
val text = """
|Tell me and I forget.
|Teach me and I remember.
|Involve me and I learn.
|(Benjamin Franklin)
""".trimMargin()
डिफ़ॉल्ट मार्जिन उपसर्ग पाइप वर्ण है |
, यह ट्रिमरमैजिन के लिए एक पैरामीटर के रूप में सेट किया जा सकता है; जैसे trimMargin(">")
।
स्ट्रिंग टेम्पलेट्स
बच गए तार और कच्चे तार दोनों में टेम्पलेट अभिव्यक्ति हो सकती है। टेम्प्लेट अभिव्यक्ति कोड का एक टुकड़ा है जिसका मूल्यांकन किया जाता है और इसका परिणाम स्ट्रिंग में बदल दिया जाता है। यह एक डॉलर चिह्न $
शुरू होता है और इसमें एक चर नाम भी होता है:
val i = 10
val s = "i = $i" // evaluates to "i = 10"
या घुंघराले ब्रेसिज़ में एक मनमाना अभिव्यक्ति:
val s = "abc"
val str = "$s.length is ${s.length}" // evaluates to "abc.length is 3"
एक स्ट्रिंग में शाब्दिक डॉलर का चिह्न शामिल करने के लिए, बैकस्लैश का उपयोग करके इसे छोड़ें:
val str = "\$foo" // evaluates to "$foo"
अपवाद कच्चे तार हैं, जो बचने का समर्थन नहीं करते हैं। कच्चे तार में आप एक डॉलर चिह्न का प्रतिनिधित्व करने के लिए निम्नलिखित वाक्यविन्यास का उपयोग कर सकते हैं।
val price = """
${'$'}9.99
"""
स्ट्रिंग समानता
कोटलिन स्ट्रिंग्स में ==
ऑपरेटर के साथ तुलना की जाती है जो उनकी संरचनात्मक समानता के लिए चींट करते हैं।
val str1 = "Hello, World!"
val str2 = "Hello," + " World!"
println(str1 == str2) // Prints true
प्रासंगिक समानता ===
ऑपरेटर के साथ जाँच की जाती है।
val str1 = """
|Hello, World!
""".trimMargin()
val str2 = """
#Hello, World!
""".trimMargin("#")
val str3 = str1
println(str1 == str2) // Prints true
println(str1 === str2) // Prints false
println(str1 === str3) // Prints true