Home › Hindi › String methods Hindi

Python string methods Hindi में — split, join, strip और slicing

🌐 यह page Hindi में है · Read this in English →

हर method का outputStrings immutable क्यों हैंFree browser practice

सबसे पहले: strings बदलती नहीं हैं

यह Python का सबसे ज़रूरी string rule है — कोई भी string method original string को नहीं बदलता। हर method एक नई string बनाकर लौटाता है।

naam = "riya"
naam.upper()
print(naam)        # riya   ❌ बदली ही नहीं
naam = "riya"
naam = naam.upper()    # ✅ result वापस store करो
print(naam)            # RIYA

यही galti board exam के output questions में सबसे ज़्यादा पूछी जाती है। Result को किसी variable में डालना मत भूलो।

Case बदलने वाले methods

s = "hello PyDebug"

print(s.upper())        # HELLO PYDEBUG
print(s.lower())        # hello pydebug
print(s.title())        # Hello Pydebug
print(s.capitalize())   # Hello pydebug
print(s.swapcase())     # HELLO pYdEBUG

Case भूलकर तुलना करनी हो तो दोनों तरफ .lower() लगाओ — यह login और search में रोज़ काम आता है:

if input("Naam: ").lower() == "riya":
    print("Milta hai")

strip, split और join — सबसे ज़्यादा काम के तीन

s = "   Riya Sharma   "

print(s.strip())         # "Riya Sharma"   दोनों तरफ के space हटे
print(s.lstrip())        # बाईं तरफ से
print(s.rstrip())        # दाईं तरफ से
print("file.txt".strip(".txt"))   # "file"  — characters हटाता है, शब्द नहीं!
line = "aam,kela,seb"
print(line.split(","))        # ['aam', 'kela', 'seb']
print("a b  c".split())       # ['a', 'b', 'c']  — बिना argument के सारे space सँभाल लेता है

words = ["aam", "kela", "seb"]
print(", ".join(words))       # aam, kela, seb

join() उल्टा लिखा जाता है — जोड़ने वाला separator पहले आता है, list बाद में। और join() सिर्फ strings की list पर चलता है; numbers होंगे तो TypeError आएगा। पहले बदलो: ", ".join(str(x) for x in nums)

ढूँढना और बदलना

s = "Python seekhna aasan hai"

print("seekhna" in s)          # True   — सबसे आसान तरीका
print(s.find("aasan"))         # 16     — न मिले तो -1
print(s.index("aasan"))        # 16     — न मिले तो ValueError
print(s.count("a"))            # 6
print(s.replace("aasan", "mazedar"))
print(s.startswith("Python"))  # True
print(s.endswith("hai"))       # True

find() और index() में यही एक फर्क है: न मिलने पर find() चुपचाप -1 देता है, index() crash कर देता है। सिर्फ "है या नहीं" पूछना हो तो in ही सबसे साफ है।

Slicing और indexing

s = "PyDebug"

print(s[0])        # P
print(s[-1])       # g     आखिरी character
print(s[0:2])      # Py    index 2 शामिल नहीं
print(s[2:])       # Debug
print(s[:2])       # Py
print(s[::-1])     # gubeDyP   — string उल्टी करने का तरीका
print(len(s))      # 7
print(s * 2)       # PyDebugPyDebug

Character बदलने की कोशिश मत करना — s[0] = "X" लिखोगे तो TypeError: 'str' object does not support item assignment आएगा। नई string बनाओ: s = "X" + s[1:]

जाँच करने वाले methods और f-string

print("123".isdigit())      # True   — सिर्फ numbers
print("abc".isalpha())      # True   — सिर्फ अक्षर
print("abc1".isalnum())     # True   — अक्षर या numbers
print("   ".isspace())      # True   — सिर्फ space
print("".isdigit())         # False  — खाली string हमेशा False

User input जाँचने में isdigit() सबसे काम आता है, पर strip() पहले लगाओ: input().strip().isdigit()।

और strings बनाने का सबसे साफ तरीका f-string है:

naam, marks = "Riya", 92

print("Naam: " + naam + ", marks: " + str(marks))   # पुराना, लंबा
print(f"Naam: {naam}, marks: {marks}")              # ✅ साफ
print(f"Percent: {marks / 100:.2f}")                # 0.92 तक 2 decimal

शुरू का f भूल गए तो Python curly braces को वैसा का वैसा छाप देगा — Naam: {naam}। कोई error नहीं आएगा, इसलिए यह galti पकड़ना मुश्किल है।

🛠️ Practice करो (free, browser में)

पढ़ना काफी नहीं — यही bug खुद fix करके देखो। नीचे के problems browser में ही चलते हैं, कोई install नहीं, कोई login नहीं।

सारे free problems देखो →

अक्सर पूछे जाने वाले सवाल

naam.upper() लिखने पर string बदलती क्यों नहीं?

क्योंकि Python में strings immutable हैं — हर method एक नई string लौटाता है, पुरानी को नहीं बदलता। result वापस store करो: naam = naam.upper()।

split() और join() में क्या फर्क है?

split() एक string को तोड़कर list बनाता है, join() एक list को जोड़कर string बनाता है। join() उल्टा लिखा जाता है — separator पहले आता है: ", ".join(words)।

join() में TypeError क्यों आता है?

क्योंकि join() सिर्फ strings की list पर चलता है। list में numbers हों तो पहले बदलो: ", ".join(str(x) for x in nums)।

Python में string उल्टी कैसे करें?

s[::-1] लिखो — यह slicing का -1 step है और पूरी string उल्टी कर देता है। "PyDebug"[::-1] का output gubeDyP होगा।

आगे पढ़ो