Materi
Modul re menjalankan pola regex di Python. re.sub(pola, pengganti, teks) mengganti setiap bagian teks yang cocok dengan pola dan mengembalikan teks baru. Pola ditulis sebagai raw string r"..." supaya garis miring terbalik diteruskan ke mesin regex apa adanya. Cara menyusun pola — kelas karakter, kuantor, jangkar, dan grup — dibahas di kelas Regex untuk Mencari Teks; pelajaran ini memakai pola-pola itu untuk membuang bagian yang mengganggu hitungan kata.
import re
pesan = "Promo cek https://contoh.id/diskon sampai 30 September!!!"
tanpa_url = re.sub(r"https?://\S+", "", pesan)
tanpa_angka = re.sub(r"\d+", "", tanpa_url)
tanpa_tanda = re.sub(r"[^\w\s]", "", tanpa_angka)
print(tanpa_tanda) # Promo cek sampai SeptemberUrutan langkah menentukan hasil. URL dibuang lebih dulu, karena setelah tanda baca dibuang, https://contoh.id/diskon berubah menjadi httpscontohiddiskon yang tidak lagi dikenali pola URL. Kelas [^\w\s] berarti karakter apa pun yang bukan huruf, angka, garis bawah, atau spasi, yaitu tanda baca dan simbol. Spasi ganda yang tertinggal dirapikan dengan split dan join dari pelajaran 3.
Cara lain tanpa regex: string.punctuation berisi 32 tanda baca ASCII, dan teks.translate(str.maketrans("", "", string.punctuation)) membuang semuanya. Cara ini tidak menyentuh tanda baca di luar ASCII seperti tanda kutip miring “ ” atau elipsis …, yang justru ikut tertangkap oleh [^\w\s].