स्ट्रिंग

समस्या की शिकायत करें सोर्स देखें Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

स्ट्रिंग के साथ काम करने के लिए, पहले से मौजूद भाषा का टाइप. स्ट्रिंग लिटरल के उदाहरण:

a = 'abc\ndef'
b = "ab'cd"
c = """multiline string"""

# Strings support slicing (negative index starts from the end):
x = "hello"[2:4]  # "ll"
y = "hello"[1:-1]  # "ell"
z = "hello"[:4]  # "hell"# Slice steps can be used, too:
s = "hello"[::2] # "hlo"
t = "hello"[3:0:-1] # "lle"
स्ट्रिंग को सीधे तौर पर दोहराया नहीं जा सकता. इसके वर्णों को दोहराने के लिए, .elems() तरीके का इस्तेमाल करें. उदाहरण:
"bc" in "abcd"   # evaluates to True
x = [c for c in "abc".elems()]  # x == ["a", "b", "c"]
स्ट्रिंग को सीधे तौर पर जोड़ने की अनुमति नहीं है. इसके बजाय, + ऑपरेटर का इस्तेमाल करें. कंपैरिज़न ऑपरेटर, शब्दकोश के हिसाब से तुलना करते हैं. समानता की जांच करने के लिए, == का इस्तेमाल करें.

सदस्य

अक्षर बड़े करें

string string.capitalize()

स्ट्रिंग की एक ऐसी कॉपी दिखाता है, जिसका पहला वर्ण (अगर कोई हो) कैपिटल लेटर में होता है और बाकी वर्ण लोअरकेस में होता है. इस तरीके में गैर-ASCII वर्ण इस्तेमाल नहीं किए जा सकते.

सोलर पैनलों की संख्या

int string.count(sub, start=0, end=None)

स्ट्रिंग में सबस्ट्रिंग sub के ओवरलैप न होने वाली जगहों की संख्या दिखाता है. इसके लिए, [start:end], start, और end का इस्तेमाल किया जा सकता है. [start:end] में ओवरलैप वाली जगहें शामिल होती हैं, जबकि start और end में नहीं.

पैरामीटर

पैरामीटर ब्यौरा
sub ज़रूरी है
गिनती करने के लिए सबस्ट्रिंग.
start int या None; डिफ़ॉल्ट तौर पर 0
होता है इस पोज़िशन से खोजने पर पाबंदी लगाएं.
end int या None; डिफ़ॉल्ट तौर पर None
खोज के लिए पाबंदी लगाने से पहले की वैकल्पिक स्थिति.

elems

sequence string.elems()

यह एक ऐसी वैल्यू दिखाता है जिसे बार-बार इस्तेमाल किया जा सकता है. इसमें स्ट्रिंग की एक-एलिमेंट वाली सबस्ट्रिंग होती है. यह [s[i] for i in range(len(s))] के बराबर है. हालांकि, हो सकता है कि लौटाई गई वैल्यू सूची न हो.

endswith

bool string.endswith(sub, start=0, end=None)

अगर स्ट्रिंग के आखिर में sub है, तो True दिखाता है. अगर sub नहीं है, तो False दिखाता है. इसके अलावा, [start:end], start, और end में से किसी एक पर भी पाबंदी लगाई जा सकती है. start में शामिल होने वाले और end में शामिल न होने वाले वैल्यू को दिखाया जाता है.

पैरामीटर

पैरामीटर ब्यौरा
sub स्ट्रिंग या स्ट्रिंग का ट्यूपल; ज़रूरी है
मैच करने के लिए सफ़िक्स (या अन्य सफ़िक्स का ट्यूपल).
start int या None; डिफ़ॉल्ट 0
है इस पोज़िशन से टेस्ट शुरू करें.
end int या None; डिफ़ॉल्ट तौर पर None
तुलना बंद करने की वैकल्पिक स्थिति.

ढूंढें

int string.find(sub, start=0, end=None)

वह इंडेक्स दिखाता है जहां sub मिलता है. अगर ऐसा कोई इंडेक्स नहीं है, तो -1 दिखाता है. इसके अलावा, [start:end], start, और end में से किसी एक पर भी पाबंदी लगाई जा सकती है. start में शामिल और end में शामिल नहीं होने वाले वैल्यू को शामिल किया जाता है.

पैरामीटर

पैरामीटर ब्यौरा
sub ज़रूरी है
वह सबस्ट्रिंग जिसे ढूंढना है.
start int या None; डिफ़ॉल्ट तौर पर 0
होता है इस पोज़िशन से खोजने पर पाबंदी लगाएं.
end int या None; डिफ़ॉल्ट तौर पर None
खोज के लिए पाबंदी लगाने से पहले की वैकल्पिक स्थिति.

फ़ॉर्मैट

string string.format(*args, **kwargs)

स्ट्रिंग इंटरपोलेशन करें. फ़ॉर्मैट स्ट्रिंग में, कर्ली ब्रैकेट {} से घिरे रीप्लेसमेंट फ़ील्ड होते हैं. ब्रैकेट में न आने वाले टेक्स्ट को लिटरल टेक्स्ट माना जाता है. इसे आउटपुट में बिना किसी बदलाव के कॉपी किया जाता है. अगर आपको लिटरल टेक्स्ट में ब्रैकेट वर्ण शामिल करना है, तो उसे दो बार डालकर एस्केप किया जा सकता है: {{ और }}बदले जाने वाले फ़ील्ड में नाम, संख्या या खाली फ़ील्ड हो सकता है. str फ़ंक्शन का इस्तेमाल करके, वैल्यू को स्ट्रिंग में बदला जाता है.
# Access in order:
"{} < {}".format(4, 5) == "4 < 5"
# Access by position:
"{1}, {0}".format(2, 1) == "1, 2"
# Access by name:
"x{key}x".format(key = 2) == "x2x"

पैरामीटर

पैरामीटर ब्यौरा
args डिफ़ॉल्ट तौर पर, ()
आर्ग्युमेंट की सूची है.
kwargs डिफ़ॉल्ट रूप से {}
आर्ग्युमेंट की डिक्शनरी.

इंडेक्स

int string.index(sub, start=0, end=None)

वह पहला इंडेक्स दिखाता है जहां sub मिलता है. अगर ऐसा कोई इंडेक्स मौजूद नहीं है, तो गड़बड़ी का मैसेज दिखाता है. इसके अलावा, [start:end]start को शामिल करने और end को शामिल न करने की पाबंदी भी लगाई जा सकती है.

पैरामीटर

पैरामीटर ब्यौरा
sub ज़रूरी है
वह सबस्ट्रिंग जिसे ढूंढना है.
start int या None; डिफ़ॉल्ट तौर पर 0
होता है इस पोज़िशन से खोजने पर पाबंदी लगाएं.
end int; या None; डिफ़ॉल्ट जगह None
वैकल्पिक होती है, जिसके पहले खोज करनी है.

isalnum

bool string.isalnum()

सही है अगर स्ट्रिंग में सभी वर्ण अक्षर और अंक ([a-zA-Z0-9]) हैं और कम से कम एक वर्ण है.

isऐल्फ़ा

bool string.isalpha()

अगर स्ट्रिंग में सभी वर्ण अंग्रेज़ी के वर्ण ([a-zA-Z]) हैं और कम से कम एक वर्ण है, तो True दिखाता है.

isdigit

bool string.isdigit()

अगर स्ट्रिंग में सभी वर्ण अंक ([0-9]) हैं और कम से कम एक वर्ण है, तो True दिखाता है.

islower

bool string.islower()

अगर स्ट्रिंग में सभी केस वाले वर्ण लोअरकेस में हैं और कम से कम एक वर्ण है, तो True दिखाता है.

isspace

bool string.isspace()

अगर सभी वर्ण व्हाइट स्पेस वर्ण हैं और स्ट्रिंग में कम से कम एक वर्ण है, तो True वैल्यू मिलती है.

istitle

bool string.istitle()

सही है अगर स्ट्रिंग, टाइटल केस में है और उसमें कम से कम एक वर्ण है. इसका मतलब है कि हर अपरकेस वर्ण के बाद, कोई ऐसा वर्ण होना चाहिए जिसमें केस न हो (जैसे, खाली जगह). साथ ही, हर लोअरकेस वर्ण के बाद, कोई ऐसा वर्ण होना चाहिए जिसमें केस हो (जैसे, अपरकेस या लोअरकेस).

isupper

bool string.isupper()

अगर स्ट्रिंग में सभी केस वाले वर्ण अपरकेस हैं और कम से कम एक वर्ण है, तो True दिखाता है.

जोड़ना

string string.join(elements)

वह स्ट्रिंग दिखाता है जिसमें तर्क के स्ट्रिंग एलिमेंट को इस स्ट्रिंग से सेपरेटर के तौर पर जोड़ा जाता है. उदाहरण:
"|".join(["a", "b", "c"]) == "a|b|c"

पैरामीटर

पैरामीटर ब्यौरा
elements ज़रूरी
वे ऑब्जेक्ट जिन्हें शामिल करना है.

निचला

string string.lower()

इस स्ट्रिंग को लोअरकेस में बदलकर दिखाता है.

lstrip

string string.lstrip(chars=None)

chars में दिखने वाले शुरुआती वर्णों को हटाकर, स्ट्रिंग की कॉपी दिखाता है. ध्यान दें कि chars कोई प्रीफ़िक्स नहीं है: इसकी वैल्यू के सभी कॉम्बिनेशन हटा दिए जाते हैं:
"abcba".lstrip("ba") == "cba"

पैरामीटर

पैरामीटर ब्यौरा
chars string या None; डिफ़ॉल्ट तौर पर None
होता है हटाने के लिए वर्ण या None होने पर सभी खाली जगहें.

पार्टीशन

tuple string.partition(sep)

यह फ़ंक्शन, इनपुट स्ट्रिंग को सेपरेटर sep के पहली बार दिखने पर बांट देता है. साथ ही, इस फ़ंक्शन से मिलने वाले हिस्से को (before, separator, after) फ़ॉर्मैट में तीन एलिमेंट वाले टपल के तौर पर दिखाता है. अगर इनपुट स्ट्रिंग में सेपरेटर नहीं है, तो partition फ़ंक्शन (self, '', '') दिखाता है.

पैरामीटर

पैरामीटर ब्यौरा
sep ज़रूरी है
वह स्ट्रिंग जिसे बांटना है.

प्रीफ़िक्स हटाएं

string string.removeprefix(prefix)

अगर स्ट्रिंग prefix से शुरू होती है, तो प्रीफ़िक्स को हटाकर नई स्ट्रिंग डाली जाती है. ऐसा न होने पर, स्ट्रिंग दिखाता है.

पैरामीटर

पैरामीटर ब्यौरा
prefix ज़रूरी
अगर प्रीफ़िक्स मौजूद है, तो उसे हटाने के लिए.

removesuffix

string string.removesuffix(suffix)

अगर स्ट्रिंग suffix पर खत्म होती है, तो सफ़िक्स हटाकर एक नई स्ट्रिंग दिखाती है. ऐसा न होने पर, स्ट्रिंग दिखाता है.

पैरामीटर

पैरामीटर ब्यौरा
suffix ज़रूरी है
मौजूद होने पर, हटाने के लिए सफ़िक्स.

बदलें

string string.replace(old, new, count=-1)

old की जगह new लगाकर, स्ट्रिंग की एक कॉपी दिखाता है. इसके अलावा, count तक बदलाव करने की संख्या को सीमित किया जा सकता है.

पैरामीटर

पैरामीटर ब्यौरा
old ज़रूरी है
वह स्ट्रिंग जिसे बदलना है.
new ज़रूरी
वह स्ट्रिंग जिसे बदलना है.
count डिफ़ॉल्ट रूप से -1
बदलाव की ज़्यादा से ज़्यादा संख्या. अगर वैल्यू नहीं दी गई है या वैल्यू नेगेटिव है, तो कोई सीमा नहीं होगी.

rfind

int string.rfind(sub, start=0, end=None)

वह आखिरी इंडेक्स दिखाता है जहां sub मिलता है. अगर ऐसा कोई इंडेक्स मौजूद नहीं है, तो -1 दिखाता है. इसके अलावा, [start:end], start, और end के लिए भी इंडेक्स दिखाया जा सकता है.

पैरामीटर

पैरामीटर ब्यौरा
sub ज़रूरी है
वह सबस्ट्रिंग जिसे ढूंढना है.
start int या None; डिफ़ॉल्ट तौर पर 0
होता है इस पोज़िशन से खोजने पर पाबंदी लगाएं.
end int या None; डिफ़ॉल्ट तौर पर None
खोज के लिए पाबंदी लगाने से पहले की वैकल्पिक स्थिति.

rindex

int string.rindex(sub, start=0, end=None)

वह आखिरी इंडेक्स दिखाता है जहां sub मिलता है. अगर ऐसा कोई इंडेक्स नहीं मिलता है, तो गड़बड़ी का मैसेज दिखाता है. इसके अलावा, [start:end], start, और end में से किसी एक पर पाबंदी लगाई जा सकती है. start में शामिल और end में शामिल नहीं होने वाले वैल्यू को शामिल किया जाता है.

पैरामीटर

पैरामीटर ब्यौरा
sub ज़रूरी है
वह सबस्ट्रिंग जिसे ढूंढना है.
start int या None; डिफ़ॉल्ट तौर पर 0
होता है इस पोज़िशन से खोजने पर पाबंदी लगाएं.
end int या None; डिफ़ॉल्ट तौर पर None
खोज के लिए पाबंदी लगाने से पहले की वैकल्पिक स्थिति.

rpartition

tuple string.rpartition(sep)

यह फ़ंक्शन, इनपुट स्ट्रिंग को सेपरेटर sep के आखिरी बार दिखने पर बांट देता है. साथ ही, इस फ़ंक्शन से मिलने वाले हिस्से को (before, separator, after) फ़ॉर्मैट में तीन एलिमेंट वाले टपल के तौर पर दिखाता है. अगर इनपुट स्ट्रिंग में सेपरेटर नहीं है, तो rpartition फ़ंक्शन ('', '', self) दिखाता है.

पैरामीटर

पैरामीटर ब्यौरा
sep ज़रूरी है
वह स्ट्रिंग जिसे बांटना है.

rsplit

list string.rsplit(sep, maxsplit=None)

sep को सेपरेटर के तौर पर इस्तेमाल करके, स्ट्रिंग में मौजूद सभी शब्दों की सूची दिखाता है. इसके अलावा, आपके पास स्ट्रिंग को maxsplit तक के हिस्सों में बांटने का विकल्प भी होता है. दाईं ओर से बांटने के अलावा, यह तरीका split() की तरह काम करता है.

पैरामीटर

पैरामीटर ब्यौरा
sep ज़रूरी है
वह स्ट्रिंग जिसे बांटना है.
maxsplit int या None; डिफ़ॉल्ट तौर पर None
स्प्लिट की ज़्यादा से ज़्यादा संख्या.

rstrip

string string.rstrip(chars=None)

chars में दिखने वाले आखिरी वर्णों को हटाकर, स्ट्रिंग की कॉपी दिखाता है. ध्यान दें कि chars सफ़िक्स नहीं है: इसकी वैल्यू के सभी कॉम्बिनेशन हटा दिए जाते हैं:
"abcbaa".rstrip("ab") == "abc"

पैरामीटर

पैरामीटर ब्यौरा
chars string या None; डिफ़ॉल्ट तौर पर None
होता है हटाने के लिए वर्ण या None होने पर सभी खाली जगहें.

बांटें

list string.split(sep, maxsplit=None)

sep को सेपरेटर के तौर पर इस्तेमाल करके, स्ट्रिंग में मौजूद सभी शब्दों की सूची दिखाता है. इसके अलावा, आपके पास स्ट्रिंग को maxsplit तक के हिस्सों में बांटने का विकल्प भी होता है.

पैरामीटर

पैरामीटर ब्यौरा
sep ज़रूरी है
वह स्ट्रिंग जिसे बांटना है.
maxsplit int या None; डिफ़ॉल्ट तौर पर None
स्प्लिट की ज़्यादा से ज़्यादा संख्या.

splitlines

sequence string.splitlines(keepends=False)

यह फ़ंक्शन, स्ट्रिंग को लाइन की सीमाओं ('\n', '\r\n', '\r') पर बांटता है और नतीजे को बदली जा सकने वाली नई सूची के तौर पर दिखाता है.

पैरामीटर

पैरामीटर ब्यौरा
keepends यह डिफ़ॉल्ट रूप से False पर सेट है
नतीजे की सूची में लाइन ब्रेक को शामिल किया जाना चाहिए या नहीं.

startswith

bool string.startswith(sub, start=0, end=None)

अगर स्ट्रिंग sub से शुरू होती है, तो True दिखाता है. ऐसा न होने पर False दिखाता है. इसके अलावा, [start:end], start, और end पर भी पाबंदी लगाई जा सकती है. start में शामिल और end में शामिल नहीं होने वाले वैल्यू को दिखाया जाता है.

पैरामीटर

पैरामीटर ब्यौरा
sub स्ट्रिंग या स्ट्रिंग का ट्यूपल; ज़रूरी है
मैच करने के लिए प्रीफ़िक्स (या वैकल्पिक प्रीफ़िक्स का ट्यूपल).
start int या None; डिफ़ॉल्ट 0
है इस पोज़िशन से टेस्ट शुरू करें.
end int या None; डिफ़ॉल्ट None
है इस पोज़िशन पर तुलना बंद करें.

स्ट्रिप

string string.strip(chars=None)

chars में मौजूद शुरुआती या आखिरी वर्णों को हटाकर, स्ट्रिंग की कॉपी दिखाता है. ध्यान दें कि chars न तो कोई प्रीफ़िक्स है और न ही सफ़िक्स है: इसकी वैल्यू के सभी कॉम्बिनेशन हटा दिए जाते हैं:
"aabcbcbaa".strip("ab") == "cbc"

पैरामीटर

पैरामीटर ब्यौरा
chars string या None; डिफ़ॉल्ट तौर पर None
होता है हटाने के लिए वर्ण या None होने पर सभी खाली जगहें.

title

string string.title()

इनपुट स्ट्रिंग को टाइटल केस में बदलता है. इसका मतलब है कि सभी शब्द, अपरकेस अक्षर से शुरू होते हैं और बाकी के अक्षर अंग्रेज़ी के छोटे अक्षरों में होते हैं. इस संदर्भ में शब्द का मतलब है, पूरी तरह से अक्षरों का क्रम. यह तरीका, पूरक यूनिकोड वर्णों के साथ काम नहीं करता है.

ऊपर का

string string.upper()

इस स्ट्रिंग का अपरकेस वर्शन दिखाता है.