Python Strings
String (str) áááŻáᏠááŹáá˛?
áážááşá¸ááŤáááşá String áááŻáᏠá áŹááŹá¸ (Text) áá˝áąá
bro áá˛áˇááŹáááşá ááááşá áŹá Hello World áááŻáˇá ááááşá¸á áŹá¸ááźáŽá¸ááźáŽááŹá¸ áááŻáˇá áĄá˛áˇááŤáá˝áąáĄááŻááş String áá˝áąáá˛á Python á ááŤááᯠdata type áá áşááŻáĄááąáá˛áˇ str áááŻáˇ ááąáŤáşáááşá
String áá áşáᯠááąáŹááş ááťááşáááşá bro áá˛áˇ á áŹááŹá¸áá˝áąááᯠSingle Quote (') ááŤáážáááŻááş Double Quote (") áážá áşáᯠáá˛á áá áşááŻáá˛áˇ áážááş ááźáŽá¸ ááąá¸ááááşá
áĽáááŹ:
# Double quote áá˛áˇ
name = "Mg Mg"
# Single quote áá˛áˇ
greeting = 'Hello Bro!'
# áážá
áşááťááŻá¸ááŻáśá¸ áá°áá° áá˛á
print(name)
print(greeting)String áá˝áąááᯠááąáŤááşá¸á ááşááźááşá¸ (Concatenation)
String áá˝áąááᯠáááş ááťááşáááş + (áĄááąáŤááşá¸) ááášááᏠááŻáśá¸ááŻáśáá˛á áá˝ááşáááşá
first_name = "Kyaw"
last_name = "Gyi"
# ááźáŹá¸áá˛áážáŹ Space (ááąááŹáá˝ááş) ááąá¸ ááś ááąá¸áááŻáˇ áááąáˇáá˛áˇá
full_name = first_name + " " + last_name
print(full_name)
# Output: "Kyaw Gyi"áĄáááşá¸á áŹá¸ f-Strings
ááŤá ááąááşáá áş Python áážáŹ String áá˝áąáá˛áˇ variable (ááááşá¸) áá˝áąááᯠááąáŹ áááŻáˇ áĄáá˝ááşááŻáśá¸ áááşá¸áá˛á ááŻáśá¸áááŹáááşá¸áááşá
String áá˛áˇ áĄáážáąáˇááŻáśá¸áážáŹ f ááąá¸ áááˇáşáááŻááşá ááźáŽá¸áááş bro áááˇáşááťááşáá˛áˇ variable ááᯠ{} (curly braces) áᲠáááˇáşááŻáśáá˛á
name = "ááááťáąáŹ"
age = 3
# f-string ááŻáśá¸áááş...
output = f"ááŤáˇááŹáááşá {name}á ááŤáˇáĄáááş {age} áážá
áşá"
print(output)
# Output: "ááŤáˇááŹáááşá ááááťáąáŹá ááŤáˇáĄáááş 3 áážá
áşá"String Operations
String áážáŹ Built-in ááŤáá˛áˇ methods áá˝áą áĄááťáŹá¸ááźáŽá¸áážááááşá bro áá˛áˇá áŹááŹá¸ááᯠááźááŻááşáááᯠáá áŹá¸áááŻáˇááááşá
my_text = " Hello, Welcome to Python! " áááŻáá˛áˇ String áá áşááŻááᯠá ááşá¸ááźááˇáşáááşá
Case ááźáąáŹááşá¸áᏠ(Changing Case):
.upper(): á áŹááŻáśá¸ áĄááźáŽá¸ áá˝áąááťááşá¸ ááźá áşáá˝áŹá¸áááşá
my_text = " Hello, Welcome to Python! "
print(my_text.upper())
# Output: " HELLO, WELCOME TO PYTHON! ".lower(): á áŹááŻáśá¸ áĄááąá¸ áá˝áąááťááşá¸ ááźá áşáá˝áŹá¸áááşá
print(my_text.lower())
# Output: " hello, welcome to python! "áĄááᯠwhitespace áááşáááş:
.strip(): ááąá¸áážá áşáááş á ááááŻáá˛áˇ Space áĄáá˝ááşáá˝áąááᯠááźáŻááşáááşá Data áá˝áąáááŻááşáááş áĄáááşá¸ááŻáśá¸ááááşá
my_text = " Hello, Welcome to Python! "
cleaned_text = my_text.strip()
print(cleaned_text)
# Output: "Hello, Welcome to Python!"áĄá áŹá¸áááŻá¸áᏠ(Replacing):
.replace("ááŤáááŻ", "ááŤáá˛áˇ"): á áŹááŻáśá¸áá áşááŻáśá¸ ááąááŹáážáŹ ááąáŹááşáá áşááŻáśá¸ áá˛áˇ áááşáááŻá¸ááŹá
cleaned_text = "Hello, Welcome to Python!"
print(cleaned_text.replace("Python", "Our World"))
# Output: "Hello, Welcome to Our World!"áá˝á˛ááŻááşáᏠ(Splitting):
.split("ááŽá áŹááŻáśá¸áá˝áąáˇáááŻááşá¸"): á áŹááŹá¸áááşá¸ áážááşááźáŽá¸ ááᯠáĄáááŻááşá¸áááŻááşá¸ áá˝áąáá˝á˛ááźáŽá¸ List áá áşáᯠáááşá¸ááąáŹááşááąá¸áááşá
sentence = "ááŤ,bro,ááááťáąáŹ,ááŻááşáˇááŻáśá¸"
names_list = sentence.split(",") # Comma (,) áá˝áąáˇáááŻááşá¸ ááźááşáááş
print(names_list)
# Output: ['ááŤ', 'bro', 'ááááťáąáŹ', 'ááŻááşáˇááŻáśá¸']á á áşááąá¸áᏠ(Checking):
.startswith("..."): ááŽá áŹááŻáśá¸áá˛áˇ á ááŹá¸áááŻááŹá á áşáááşá (True/False ááźááşááąá¸áááş)
.endswith("..."): ááŽá áŹááŻáśá¸áá˛áˇ ááŻáśá¸ááŹá¸áááŻááŹá á áşáááşá
cleaned_text = "Hello, Welcome to Python!"
print(cleaned_text.startswith("Hello")) # True
print(cleaned_text.endswith("!")) # True
print(cleaned_text.startswith("Bye")) # FalseáĄáááŻááşá¸áĄá áá°áᏠ(Indexing & Slicing) - ááŤáááşá¸ áĄáááş
String áá˛á á áŹááŻáśá¸áá áşááŻáśá¸ááťááşá¸ (Indexing) ááźá áşááźá áşá áĄáááŻááşá¸áááŻááş (Slicing) ááźá áşááźá áş ááźááşáá°áááŻáˇááááşá
s = "Python" áááŻáá˛áˇ string ááᯠáá˝á˛ ááźááˇáşáááşá
# P y t h o n
# 0 1 2 3 4 5Indexing (áá áşááŻáśá¸ááťááşá¸ áá°):
s = "Python"
print(s[0]) # 'P' (áááááŻáśá¸ ááąáŹááş)
print(s[2]) # 't'
print(s[-1]) # 'n' (áĄáážáŻááş ááᯠááąáŹááşááŻáśá¸ áááąááąáá˝ááşááááşá)
print(s[-2]) # 'o'Slicing (áĄáááŻááşá¸áááŻááş ááźááşáá°): [start:stop]
start ááąááŹá á áááşá stop ááąáᏠáááąáŹááşáááşáážáŹ áááşáááşá
s = "Python"
print(s[0:2]) # 'Py' (0 áááą á
á 2 áááąáŹááşáááş (1) áážáŹ áááş)
print(s[2:5]) # 'tho'
print(s[1:]) # 'ython' (1 áááą áĄááŻáśá¸áá)
print(s[:4]) # 'Pyth' (áĄá
áááą 4 áááąáŹááşáááşáĄáá)
print(s[:]) # 'Python' (áĄá
áááą áĄááŻáśá¸áá áĄááŻááş ááźááşáá°ááŹ)ááá (Immutability)
String áážáŹ áĄááąá¸ááźáŽá¸áá˛áˇ áááąáŹáááŹá¸áá áşáᯠáážááááşá String áá˝áąá Immutable (ááźááşáááŻáˇáááá°á¸)á
ááŹáᲠáááŻááąáŹáˇ... bro áážáŹ name = "Sam" áážááááş áááŻááŤá ááŻáˇá bro á S ááąááŹáážáŹ P ááᯠáááŻááşáááŻááş ááźáąáŹááşá¸ááźáŽá¸ Pam ááźá áşáĄáąáŹááş ááŻááşáááŻáˇ áááá°á¸á
name = "Sam"
# name[0] = "P" <-- ááŽááᯠáááşá¸ááŻááşáááŻáˇ áááá°á¸á Error áááşááááˇáşáááşáname = "Sam"
# Slicing áá˛áˇ ááąáŤááşá¸á
ááşááŹááᯠááŻáśá¸áááş
new_name = "P" + name[1:] # "P" ááᯠname áá˛áˇ 1 áááą áĄááŻáśá¸áá ("am") áá˛áˇ ááąáŤááşá¸
print(new_name)
# Output: "Pam"1. Case Conversion Methods (á áŹááŻáśá¸áĄááźáŽá¸áĄááąá¸ ááźáąáŹááşá¸ááŹ)
.upper() - á áŹááŻáśá¸áĄááźáŽá¸áá˝áą ááźá áşáĄáąáŹááş
á áŹááŹá¸ áá áşááŻááŻáśá¸ááᯠá áŹááŻáśá¸ááźáŽá¸áá˝áą ááźá áşáĄáąáŹááş ááźáąáŹááşá¸áááşá
text = "hello world"
result = text.upper()
print(result)
# Output: "HELLO WORLD"
# Practical Example: áĄáááş á
áŹáááşá¸áážáŹ áá°ááŽáĄáąáŹááş áážáŹááŹ
user_input = "mgmg"
database_name = "MGMG"
if user_input.upper() == database_name:
print("áĄáááş áá°ááŽáááş").lower() - á áŹááŻáśá¸áĄááąá¸áá˝áą ááźá áşáĄáąáŹááş
á áŹááŹá¸ áá áşááŻááŻáśá¸ááᯠá áŹááŻáśá¸ááąá¸áá˝áą ááźá áşáĄáąáŹááş ááźáąáŹááşá¸áááşá
text = "HELLO WORLD"
result = text.lower()
print(result)
# Output: "hello world"
# Practical Example: Email ááááşá
Ꮰááááşá¸ááŹ
email = "USER@EXAMPLE.COM"
normalized_email = email.lower()
print(normalized_email)
# Output: "user@example.com".capitalize() - áááá áŹááŻáśá¸ááᯠáĄááźáŽá¸ ááźáąáŹááşá¸ááŹ
á áŹááŹá¸áá˛áˇ áááá áŹááŻáśá¸áááŻáᲠáĄááźáŽá¸ ááźáąáŹááşá¸ááźáŽá¸ ááťááşááŹááᯠáĄááąá¸ ááźáąáŹááşá¸áááşá
text = "hello world"
result = text.capitalize()
print(result)
# Output: "Hello world"
# Practical Example: á
áŹááźáąáŹááşá¸ á
ááŹ
sentence = "python is awesome"
print(sentence.capitalize())
# Output: "Python is awesome".title() - á ááŹá¸ááŻáśá¸áááŻááşá¸áá˛áˇ áááá áŹááŻáśá¸ááᯠáĄááźáŽá¸
á ááŹá¸ááŻáśá¸áá áşááŻáśá¸ááťááşá¸á áŽáá˛áˇ áááá áŹááŻáśá¸ááᯠáĄááźáŽá¸ ááźáąáŹááşá¸áááşá
text = "hello world python"
result = text.title()
print(result)
# Output: "Hello World Python"
# Practical Example: á
áŹáĄáŻááş ááąáŤááşá¸á
ááş
book_title = "learn python programming"
print(book_title.title())
# Output: "Learn Python Programming".swapcase() - áĄááźáŽá¸áĄááąá¸ áážááşááźáąáŹááşá¸ááŹ
áĄááźáŽá¸ááᯠáĄááąá¸á áĄááąá¸ááᯠáĄááźáŽá¸ ááźáąáŹááşá¸áááşá
text = "Hello World"
result = text.swapcase()
print(result)
# Output: "hELLO wORLD"2. Whitespace Methods (Space áááşááŹ)
.strip() - áážá áşáááşá Space ááźáŻááşááŹ
á áŹááŹá¸áá˛áˇ áĄá áá˛áˇ áĄááŻáśá¸á Space áá˝áąááᯠáááşáážáŹá¸áááşá
text = " Hello World "
result = text.strip()
print(f"'{result}'")
# Output: 'Hello World'
# Practical Example: User input áááˇáşáážááşá¸ááąá¸
username = input("Enter username: ") # user á " mgmg " áááŻáˇ áááŻááşáááş
clean_username = username.strip()
print(f"Welcome {clean_username}").lstrip() - áááşáááşá Space ááźáŻááşááŹ
á áŹááŹá¸áá˛áˇ áááşáááş (áĄá ) á Space áá˝áąáááŻáᲠáááşáážáŹá¸áááşá
text = " Hello World "
result = text.lstrip()
print(f"'{result}'")
# Output: 'Hello World ' (ááŹáááş Space áážáááąááŻááşá¸).rstrip() - ááŹáááşá Space ááźáŻááşááŹ
á áŹááŹá¸áá˛áˇ ááŹáááş (áĄááŻáśá¸) á Space áá˝áąáááŻáᲠáááşáážáŹá¸áááşá
text = " Hello World "
result = text.rstrip()
print(f"'{result}'")
# Output: ' Hello World' (áááşáááş Space ááťááşááą)3. Search Methods (áážáŹáá˝áąááŹ)
.find() - á áŹááŻáśá¸ áážáŹááŹ
áážáŹáá˛áˇ á áŹááŻáśá¸ áááááŻáśá¸ áá˝áąáˇáᏠindex ááᯠááźááşááąá¸áááşá ááá˝áąáˇáááş -1 ááźááşááąá¸áááşá
text = "Hello World"
position = text.find("World")
print(position)
# Output: 6
not_found = text.find("Python")
print(not_found)
# Output: -1
# Practical Example: Email á
á
áşááąá¸ááŹ
email = "user@example.com"
if email.find("@") != -1:
print("Valid email format").index() - á áŹááŻáśá¸ áážáŹáᏠ(find áá˛áˇáááşáááş)
find() áá˛áˇ áá°áááşá ááŤááąáááˇáş ááá˝áąáˇáááş Error áááşáááşá
text = "Hello World"
position = text.index("World")
print(position)
# Output: 6
# ááá˝áąáˇáááş Error áááşáááş
# position = text.index("Python") # ValueError áá˝ááşáááş.count() - áááşáážá፠ááŤááᲠááąáá˝ááşááŹ
áážáŹáá˛áˇ á áŹááŻáśá¸á á áŹááŹá¸áá˛áážáŹ áááşáážááźáááş ááŤááᲠááąáá˝ááşááąá¸áááşá
text = "Python is fun and Python is powerful"
count = text.count("Python")
print(count)
# Output: 2
# Practical Example: á
áŹááŻáśá¸ áĄááąáĄáá˝ááş
sentence = "apple apple banana apple"
apple_count = sentence.count("apple")
print(f"apple ááŤáᏠ{apple_count} ááźáááş")
# Output: apple ááŤáᏠ3 ááźáááş4. Checking Methods (á á áşááąá¸ááŹ)
.startswith() - ááŽá áŹááŻáśá¸áá˛áˇ á ááŹá¸
á áŹááŹá¸á áááşáážááşááŹá¸áá˛áˇ á áŹááŻáśá¸áá˛áˇ á ááŹá¸ á á áşáááşá True/False ááźááşááąá¸áááşá
text = "Hello World"
print(text.startswith("Hello")) # True
print(text.startswith("World")) # False
# Practical Example: File extension á
á
áşááŹ
filename = "document.pdf"
if filename.endswith(".pdf"):
print("PDF áááŻááşááŤ").endswith() - ááŽá áŹááŻáśá¸áá˛áˇ ááŻáśá¸ááŹá¸
á áŹááŹá¸á áááşáážááşááŹá¸áá˛áˇ á áŹááŻáśá¸áá˛áˇ ááŻáśá¸ááŹá¸ á á áşáááşá
text = "Hello World"
print(text.endswith("World")) # True
print(text.endswith("Hello")) # False
# Practical Example: URL á
á
áşááŹ
url = "https://example.com"
if url.startswith("https://"):
print("Secure connection").isdigit() - ááááşá¸áá˝áąááťááşá¸ááŹá¸
á áŹááŹá¸áážáŹ ááááşá¸áá˝áąááťááşá¸áᲠááŤááŹá¸ á á áşáááşá
print("12345".isdigit()) # True
print("123abc".isdigit()) # False
print("Hello".isdigit()) # False
# Practical Example: áĄáááş á
á
áşááŹ
age_input = input("áĄáááş áááˇáşááŤ: ")
if age_input.isdigit():
age = int(age_input)
print(f"áĄáááş {age} áážá
áş")
else:
print("ááááşá¸ áááˇáşááŤ").isalpha() - á áŹááŻáśá¸áá˝áąááťááşá¸ááŹá¸
á áŹááŹá¸áážáŹ á áŹááŻáśá¸áá˝áąááťááşá¸áᲠááŤááŹá¸ á á áşáááşá
print("Hello".isalpha()) # True
print("Hello123".isalpha()) # False
print("Hello World".isalpha())# False (Space ááŤáááŻáˇ)
# Practical Example: áĄáááş á
á
áşááŹ
name = input("áĄáááş áááˇáşááŤ: ")
if name.isalpha():
print(f"ááźááŻáááŻááŤáááş {name}")
else:
print("á
áŹááŻáśá¸áá˝áąááťááşá¸ áááˇáşááŤ").isalnum() - á áŹááŻáśá¸ áááŻáˇáááŻááş ááááşá¸ááŹá¸
á áŹááŹá¸áážáŹ á áŹááŻáśá¸ áááŻáˇáááŻááş ááááşá¸áá˝áąáᲠááŤááŹá¸ á á áşáááşá
print("Hello123".isalnum()) # True
print("Hello 123".isalnum()) # False (Space ááŤáááŻáˇ)
print("Hello@123".isalnum())# False (@ ááŤáááŻáˇ)
# Practical Example: Username á
á
áşááŹ
username = input("Username: ")
if username.isalnum():
print("Username ok")
else:
print("Special characters áááŻáśá¸á").isspace() - Space áá˝áąááťááşá¸ááŹá¸
á áŹááŹá¸áážáŹ Space áá˝áąááťááşá¸áᲠááŤááŹá¸ á á áşáááşá
print(" ".isspace()) # True
print(" Hello ".isspace()) # False
print("".isspace()) # False (áĄáá˝ááş).islower() - á áŹááŻáśá¸áĄááąá¸áá˝áąááŹá¸
á áŹááŻáśá¸áá˝áąá áĄááąá¸áá˝áąááťááşá¸ááŹá¸ á á áşáááşá
print("hello".islower()) # True
print("Hello".islower()) # False
print("hello123".islower()) # True (ááááşá¸á áĄááąá¸áááŤáá°á¸).isupper() - á áŹááŻáśá¸áĄááźáŽá¸áá˝áąááŹá¸
á áŹááŻáśá¸áá˝áąá áĄááźáŽá¸áá˝áąááťááşá¸ááŹá¸ á á áşáááşá
print("HELLO".isupper()) # True
print("Hello".isupper()) # False
print("HELLO123".isupper()) # True (ááááşá¸á áĄááąá¸áááŤáá°á¸)5. Modification Methods (ááźááşáááşááŹ)
.replace() - á áŹááŻáśá¸ áĄá áŹá¸áááŻá¸ááŹ
áá áşááŻááᯠááąáŹááşáá áşááŻáá˛áˇ áĄá áŹá¸áááŻá¸áááşá
text = "Hello World"
new_text = text.replace("World", "Python")
print(new_text)
# Output: "Hello Python"
# áĄáŹá¸ááŻáśá¸ áĄá
áŹá¸áááŻá¸áááş
text2 = "apple apple apple"
new_text2 = text2.replace("apple", "orange")
print(new_text2)
# Output: "orange orange orange"
# Practical Example:
phone = "09-123-456-789"
clean_phone = phone.replace("-", "")
print(clean_phone)
# Output: "09123456789".split() - áá˝á˛ááŻááşááźáŽá¸ List ááŻááşááŹ
á áŹááŹá¸ááᯠáá˝á˛ááźáŽá¸ List ááźááşááąá¸áááşá
text = "apple,banana,orange"
fruits = text.split(",")
print(fruits)
# Output: ['apple', 'banana', 'orange']
# Default á Space áá˛áˇ áá˝á˛áááş
sentence = "Hello World Python"
words = sentence.split()
print(words)
# Output: ['Hello', 'World', 'Python']
# Practical Example: CSV data áááşááŹ
csv_line = "John,25,Engineer"
data = csv_line.split(",")
name, age, job = data
print(f"Name: {name}, Age: {age}, Job: {job}").join() - List ááᯠString ááźááşááźá áşáĄáąáŹááş
List áá˛á áĄááŹáá˝áąááᯠááąáŤááşá¸ááźáŽá¸ String áá áşáᯠááźááşááŻááşáááşá
fruits = ["apple", "banana", "orange"]
result = ", ".join(fruits)
print(result)
# Output: "apple, banana, orange"
# Space áá˛áˇ áááşááŹ
words = ["Hello", "World", "Python"]
sentence = " ".join(words)
print(sentence)
# Output: "Hello World Python"
# Practical Example: Path ááąáŹááşááŹ
path_parts = ["home", "user", "documents", "file.txt"]
file_path = "/".join(path_parts)
print(file_path)
# Output: "home/user/documents/file.txt"6. Formatting Methods
.center() - áĄáááşáážáŹ ááŹá¸ááŹ
á áŹááŹá¸ááᯠáááşáážááşááŹá¸áá˛áˇ áĄááťááşáážáŹ áĄáááş position áá°áááşá
text = "Hello"
centered = text.center(20)
print(f"'{centered}'")
# Output: ' Hello '
# Fill character áá˛áˇ
centered2 = text.center(20, "*")
print(centered2)
# Output: "*******Hello********".ljust() - áááşáááşáážáŹ ááŹá¸ááŹ
á áŹááŹá¸ááᯠáááşáááşááťáááşááźáŽá¸ ááŹáááşáážáŹ padding áááˇáşáááşá
text = "Hello"
left_aligned = text.ljust(20)
print(f"'{left_aligned}'")
# Output: 'Hello '
# Practical Example: Table ááąáŹááşááŹ
print("Name".ljust(15) + "Age".ljust(10))
print("Mg Mg".ljust(15) + "25".ljust(10))
print("Kyaw Kyaw".ljust(15) + "30".ljust(10)).rjust() - ááŹáááşáážáŹ ááŹá¸ááŹ
á áŹááŹá¸ááᯠááŹáááşááťáááşááźáŽá¸ áááşáááşáážáŹ padding áááˇáşáááşá
text = "Hello"
right_aligned = text.rjust(20)
print(f"'{right_aligned}'")
# Output: ' Hello'
# Practical Example: ááááşá¸ ááťáááşááŹ
numbers = ["1", "10", "100", "1000"]
for num in numbers:
print(num.rjust(10)).zfill() - áážáąáˇáážáŹ ááŻá ááźááˇáşááŹ
ááááşá¸ á áŹááŹá¸áá˛áˇ áážáąáˇáážáŹ ááŻá (0) áá˝áą ááźááˇáşááąá¸áááşá
number = "42"
padded = number.zfill(5)
print(padded)
# Output: "00042"
# Practical Example: Invoice number
invoice_num = "123"
formatted_invoice = invoice_num.zfill(8)
print(f"Invoice: {formatted_invoice}")
# Output: "Invoice: 00000123"