Mengolah Teks
Daftar aslinya berisi puluhan metode. Ini yang benar-benar kamu pakai, dan satu sifat teks yang wajib dipahami.
Intisari
- Membersihkan:
.strip()buang spasi di ujung ·.lower()/.upper()samakan huruf. - Memecah & menyambung:
.split()teks → list ·", ".join(list)list → teks. - Memeriksa:
.startswith(),.endswith(),in,.isdigit(). - Teks tidak bisa diubah. Semua metode ini menghasilkan teks baru — hasilnya harus ditampung.
- Metode bisa dirangkai:
teks.strip().lower().replace(" ", "_").
Sifat penting: teks tidak bisa diubah
nama = " Budi "
nama.strip()
print(nama) # ' Budi ' ← tidak berubah!
nama = nama.strip() # harus ditampung
print(nama) # 'Budi'
Ini kebalikan dari list. list.append() mengubah list aslinya;
str.strip() tidak mengubah apa pun, ia membuat teks baru. Kalau metode string-mu
“tidak berpengaruh”, penyebabnya hampir pasti hasilnya lupa ditampung.
Membersihkan input pengguna
jawab = input("Lanjut? ") # pengguna mengetik " Ya "
jawab = jawab.strip().lower() # jadi "ya"
if jawab == "ya":
...
Dua metode ini sebaiknya jadi refleks setiap kali menerima input(). Spasi tak sengaja dan huruf besar adalah penyebab bug yang paling membosankan untuk dicari.
" halo ".strip() # 'halo' kedua ujung
" halo ".lstrip() # 'halo ' kiri saja
"data.csv".rstrip(".csv") # 'data' buang karakter tertentu di kanan
Memecah dan menyambung
kalimat = "belajar python itu seru"
kata = kalimat.split() # ['belajar', 'python', 'itu', 'seru']
print(len(kata)) # 4
baris = "Budi,20,Bandung"
data = baris.split(",") # ['Budi', '20', 'Bandung']
nama, umur, kota = baris.split(",") # langsung ke tiga variabel
# Arah sebaliknya
print(", ".join(["a", "b", "c"])) # 'a, b, c'
print("-".join(kata)) # 'belajar-python-itu-seru'
Pemisah ditulis di depan .join(), bukan di dalam kurungnya.
Bacanya: “sambung list ini, dengan aku sebagai perekat”. Bentuknya terasa terbalik di awal,
tapi akan terbiasa.
Mencari dan mengganti
teks = "saya suka python"
"python" in teks # True
teks.find("suka") # 5 posisi; -1 kalau tidak ada
teks.count("a") # 3
teks.replace("suka", "cinta") # 'saya cinta python'
teks.startswith("saya") # True
teks.endswith(".py") # False
Memeriksa isi
"123".isdigit() # True semuanya angka
"abc".isalpha() # True semuanya huruf
"".isdigit() # False teks kosong selalu False
Berguna untuk memvalidasi input sebelum mengonversinya:
nilai = input("Masukkan angka: ").strip()
if nilai.isdigit():
print(int(nilai) * 2)
else:
print("Itu bukan angka")
.isdigit() menolak angka negatif dan desimal.
"-5".isdigit() dan "3.5".isdigit() keduanya False.
Untuk kasus yang lebih longgar, pakai try/except — materi berikutnya di fase ini.
Merangkai metode
judul = " Belajar Python Dasar "
slug = judul.strip().lower().replace(" ", "-")
print(slug) # 'belajar-python-dasar'
Setiap metode menghasilkan teks baru yang langsung diproses metode berikutnya. Dibaca dari kiri ke kanan seperti daftar langkah.
Mengambil potongan teks
teks = "Python"
teks[0] # 'P'
teks[-1] # 'n'
teks[0:3] # 'Pyt'
teks[::-1] # 'nohtyP' terbalik
len(teks) # 6
Aturan indeks dan slice-nya persis sama dengan list di Fase 4 — hanya isinya yang berupa huruf.
Ringkasan
| Ingin | Tulis |
|---|---|
| Buang spasi di ujung | t.strip() |
| Samakan huruf besar/kecil | t.lower() |
| Teks → list kata | t.split() |
| Teks → list dengan pemisah | t.split(",") |
| List → teks | ", ".join(daftar) |
| Ganti isi | t.replace("a", "b") |
| Cek mengandung | "x" in t |
| Cek semua angka | t.isdigit() |
Latihan: minta pengguna memasukkan satu kalimat, lalu tampilkan jumlah kata, jumlah huruf tanpa spasi, kata terpanjang, dan kalimat itu dalam bentuk terbalik.
Rangkuman ini sengaja dipangkas ke bagian yang dipakai di roadmap. Buka sumber aslinya saat kamu butuh detail lengkap atau referensi parameter.