String methods: centre, count, join, len, max, min, replace, lower, upper, split

String methods Python का built-in text toolkit हैं, आपको मैनुअल character loops के बिना text strings साफ़ करने, खोजने, तोड़ने, और फिर से बनाने देते हैं।

12 min read · 12 cards · 3 checks

Read in: English · हिन्दी · ગુજરાતી


Theory

मैनुअल Text Cleaning का दुःस्वप्न

आपके Semester 1 BCA104 C labs में, अगर आपको " sAmOsA " जैसी एक गंदी user input string मिली और आप इसे साफ़ lowercase में बदलना, गिनना कि एक character कितनी बार दिखा, या शब्दों को spaces से split करना चाहते, आपको custom nested loops लिखने, ASCII decimal numbers match करने, और character arrays को हाथ से manipulate करने पड़ते। Python इस थकाऊ array-hacking व्याकरण को पूरी तरह क्यों छोड़ देता है, code की lines को single-word built-in helper tools से बदलते हुए?

Theory

Text के लिए Swiss Army Knife

एक raw Python string को लकड़ी के एक खुरदरे block की तरह सोचिए। String methods एक विशेष Swiss Army knife की तरह हैं जो ख़ास तौर पर उस लकड़ी को आकार देने के लिए बना है। हर बार जब आप एक edge छीलना (lower/upper), एक ख़ास notch खोजना (count), एक खुरदरा splinter बदलना (replace), या block को छोटे अलग blocks में काटना (split) चाहते हैं, एक बिल्कुल नया tool बनाने के बजाय, आप बस उस बिल्कुल built-in tool को click करके खोलते हैं जिसकी आपको ज़रूरत है।

Theory

String Method Toolkit औपचारिक रूप से

Python में, strings objects हैं, यानी वे built-in functions जिन्हें methods कहते हैं, के साथ packaged आते हैं जो सीधे text पर काम करते हैं। क्योंकि strings immutable हैं, ये methods कभी original string variables को जगह पर नहीं बदलते; बजाय इसके, वे text process करते हैं और एक बिल्कुल नया modified string data object देते हैं। हम इन methods को उनके behaviors से group कर सकते हैं: casing (lower(), upper()), formatting (center(), join()), analysis (len(), count(), max(), min()), और structural shifting (replace(), split())।

At a glance

Table 1: modification और structural decomposition के लिए मुख्य Python string methods।

Method Toolकी गई ActionPocketMoney उदाहरण Output
text.lower() / .upper()सारे characters को lower/upper case में बदलता है।"Samosa".upper() -> "SAMOSA"
text.count(substring)एक substring की non-overlapping घटनाएँ गिनता है।"samosa 30".count("a") -> 2
text.split(separator)string को अलग शब्दों की एक list में काटता है।"food,30".split(",") -> ['food', '30']
separator.join(list)एक list के अंदर items को एक अकेली string में जोड़ता है।"-".join(['2026', '01']) -> "2026-01"
max(text) / min(text)highest/lowest ASCII value वाला character देता है।max("abc") -> "c"

Theory

Worked Example: एक Log को Sanitize और Unpack करना

आइए देखें कि हमारा चलता project, PocketMoney, users द्वारा दर्ज किए गंदे text logs साफ़ करने के लिए string methods कैसे इस्तेमाल करता है। हम एक transaction record को lowercase में बदलेंगे, इसे individual tokens में split करेंगे, items खोजेंगे, और typographical ग़लतियाँ ठीक करेंगे।

Practical

PocketMoney String Method Parser

dirty_log = "SAMOSA:30:FOOD"

# Step 1: Normalize all text to clean lowercase
clean_log = dirty_log.lower()

# Step 2: Explode the string into a sequence list using the colon split character
tokens = clean_log.split(":")

# Step 3: Swap out an entire category tag dynamically
updated_log = clean_log.replace("food", "canteen")

# Step 4: Count character frequencies for tracking patterns
a_count = clean_log.count("a")

print("Tokens list:", tokens)
print("Replaced log:", updated_log)
print("Letter 'a' count:", a_count)

This example runs in Gri-Learn on the web, where you can edit it and see the output.

Think first

Method Transformations को ट्रेस करें

ऊपर के Python script का मन में विश्लेषण कीजिए। terminal console पर कौन से बिल्कुल array items और text values output होंगे? tap करने से पहले हर transformation ट्रेस कीजिए।

Show the answer

script output करेगी:

Tokens list: ['samosa', '30', 'food']

Replaced log: samosa:30:canteen

Letter 'a' count: 2

क्यों? .lower() log को "samosa:30:food" में map करता है। .split(":") call करना colons हटाता है और संरचनात्मक शब्दों की एक dynamic list देता है। .replace() "food" segment को "canteen" में बदलता है। आख़िर में, "samosa:30:food" में "a" गिनना बिल्कुल 2 देता है।

Quiz

इस string building statement को चलाने के बाद कौन सा बिल्कुल result print होगा: result = "*".join(["Rs", "30"])?

  1. "Rs*30*"
  2. "*Rs*30"
  3. "Rs*30"
  4. SyntaxError: invalid list parameters
Show the answer

"Rs*30"

string method .join() base string को list में items के बीच एक spacer mortar या glue block के रूप में इस्तेमाल करता है। यह character को केवल individual elements अलग करने के लिए जोड़ता है, यानी कोई trailing या leading stars जुड़े नहीं होते।

Quiz

इस छोटे snippet पर विचार कीजिए: word = "Samosa"। एक university exam सवाल में min(word) call करने से कौन सी value वापस आती है?

  1. "a"
  2. "S"
  3. "o"
  4. यह एक TypeError फेंकता है क्योंकि min() सिर्फ़ list numbers process करता है।
Show the answer

"S"

functions max() और min() character ASCII values देखते हैं। ASCII mappings में, capital letters का decimal range lowercase characters (a 97 से z 122 तक) से कम (A 65 से Z 90 तक) होता है। इसलिए, uppercase "S" गणितीय रूप से lowercase "a" से छोटा है!

Watch out

Classic जाल: In-Place Modification का भ्रम

university programming viva exams में सबसे बार-बार marks-गँवाने वाली ग़लती यह मानना है कि item = "samosa" के बाद item.upper() लिखना variable content को uppercase में बदलता है। यह नहीं बदलता। क्योंकि string data items Python में बिल्कुल immutable हैं, item.upper() एक ताज़ा text block बनाता है और अगर इसे पकड़ा न जाए तो इसे फेंक देता है। इसे पकड़ने के लिए, आपको variable को स्पष्ट रूप से overwrite करना होगा जैसे: item = item.upper()।

Theory

Methods को Semester 3 से जोड़ना

String method transformations data scrubbing layers के लिए बुनियादी हैं। Semester 3 (BCA303) में, जब SQLite databases में data push करने से पहले raw text files या external CSV sheets से records पढ़ते हैं, आप एक ही execution swipe में records को साफ़-सुथरे normalize करने के लिए row.strip().lower().split(',') जैसे method chaining पर भारी निर्भर करेंगे।

Summary

Key takeaways

  • String methods string objects से जुड़े built-in functions हैं जो text processing करते हैं।
  • Methods immutability नियमों के कारण original variable संरचनाओं को बदले बिना बिल्कुल नए string objects देते हैं।
  • split method custom separator tokens इस्तेमाल करके text को list strings में काटता है।
  • join method base string को एक internal link के रूप में इस्तेमाल करके sequences को single text streams में जोड़ता है।
  • Max और min operations individual character ASCII decimal weights इस्तेमाल करके text values को rank करते हैं।
  • Memory Hook: Methods नए objects देते हैं, original memory variables locked रहते हैं!

Study this properly

This page is the lesson to read. In Gri-Learn the same topic is a graded deck: the self-checks are scored and your weak topics are tracked. Free to start.

Start this topic

Already have an account? Sign in

More from Conditions, Loops and Strings

Gri-Learn · syllabus-mapped B.C.A. lessons in English, Hindi and Gujarati