Fundamental Series — Part 8 of 20
String adalah salah satu tipe data paling sering digunakan. Part ini membahas cara membuat, menggabung, mencari, dan memanipulasi string di Python.
Membuat String
s1 = "Halo dunia"
s2 = 'Bisa pakai single quote'
s3 = """String multi-baris
bisa pakai triple quotes"""Concatenation & f-string
# Concatenation
"Halo" + " " + "Dunia" # 'Halo Dunia'
# f-string (Python 3.6+) — REKOMENDASI
nama = "Budi"
umur = 25
f"{nama} berumur {umur} tahun"
# 'Budi berumur 25 tahun'
# Formatting angka
f"Nilai: {3.14159:.2f}" # 'Nilai: 3.14'
f"Total: {1000000:,}" # 'Total: 1,000,000'Method String Bawaan
Panjang & Case
s = "Halo Dunia"
len(s) # 10
s.upper() # 'HALO DUNIA'
s.lower() # 'halo dunia'
s.title() # 'Halo Dunia'
s.capitalize() # 'Halo dunia'Strip (Trim Spasi)
" halo ".strip() # 'halo'
" halo ".lstrip() # 'halo '
" halo ".rstrip() # ' halo'Split & Join
"a,b,c".split(",") # ['a', 'b', 'c']
" ".join(["Halo", "Dunia"]) # 'Halo Dunia'
"-".join(["2026", "02", "26"]) # '2026-02-26'Slicing
s = "Indonesia"
s[0] # 'I'
s[:4] # 'Indo'
s[-5:] # 'nesia'
s[::2] # 'Idnsa' (setiap 2 karakter)
CatatanString Immutable
String di Python tidak bisa diubah di tempat. Setiap operasi menghasilkan string baru:
s = "Halo"
# s[0] = "X" # ERROR!
s = "X" + s[1:] # 'Xalo' — buat string baruFind, Replace, Check
s = "Halo Dunia"
# Mencari
s.find("Dunia") # 5 (index)
s.find("xyz") # -1 (tidak ditemukan)
"Dunia" in s # True
# Mengganti
s.replace("Dunia", "Indonesia") # 'Halo Indonesia'
# Cek awalan/akhiran
s.startswith("Halo") # True
s.endswith("Dunia") # True
# Cek isi
"123".isdigit() # True
"abc".isalpha() # True
"abc123".isalnum() # TrueRegex — re Module
import re
teks = "Harga: Rp 50000, Diskon: Rp 10000"
# Mencari semua angka
re.findall(r"\d+", teks)
# ['50000', '10000']
# Mengganti
re.sub(r"Rp", "IDR", teks)
# 'Harga: IDR 50000, Diskon: IDR 10000'
# Cek match
bool(re.search(r"\d{5}", teks)) # TrueRegex Dasar
| Pattern | Arti |
|---|---|
\d |
Digit (0-9) |
\w |
Word character |
\s |
Whitespace |
. |
Karakter apa saja |
^ |
Awal string |
$ |
Akhir string |
+ |
Satu atau lebih |
* |
Nol atau lebih |
TipRaw String
r"..."
Gunakan raw string r"..." untuk regex agar backslash tidak di-escape Python.
Latihan
BahayaLatihan 8.1 — Manipulasi Dasar
kota = [" jakarta ", " BANDUNG", "surabaya ", "SEMARANG"]
# 1. Strip spasi dari semua elemen
# 2. Ubah ke Title Case
# 3. Filter kota yang mengandung huruf "a" (case-insensitive)
BahayaLatihan 8.2 — f-string dan Regex
data = [
"Harga: Rp 50000",
"Diskon: Rp 10000",
"Total: Rp 40000"
]
# 1. Extract semua angka jadi list of int
# 2. Replace "Rp" dengan "IDR"
# 3. Buat summary string: "Rata-rata: Rp {mean:.0f}"Ringkasan
| Method/Fitur | Keterangan |
|---|---|
f"...{var}..." |
f-string formatting |
.upper() / .lower() |
Ubah case |
.strip() |
Trim spasi |
.split() / .join() |
Split dan gabung |
s[start:end] |
Slicing |
.find() / in |
Mencari substring |
.replace() |
Mengganti |
re.findall() |
Regex: cari semua match |
re.sub() |
Regex: replace |
Sebelumnya: Part 7 — Fungsi Selanjutnya: Part 9 — Date & Time