Ganti Teks Secara Otomatis Pakai RegExp Replace di JavaScript
Pernah nggak sih, kamu kepikiran buat ngubah teks otomatis dalam sebuah string tanpa perlu repot-repot ngecek satu per satu?
Misalnya, kamu punya teks panjang dan pengin mengganti semua kata tertentu dengan kata lain, atau bahkan menghapus karakter yang nggak diperlukan. Nah, di JavaScript, ada cara gampang buat ini pakai Regular Expression (RegExp) dan metode replace()
. Yuk, kita bahas bareng!
Apa Itu replace()
di JavaScript?
replace()
adalah metode bawaan JavaScript yang digunakan untuk mengganti bagian dari sebuah string dengan string lain.
Sintaks dasar:
string.replace(pola, pengganti)
string
→ teks yang mau diubahpola
→ teks yang mau diganti (bisa string biasa atau RegExp)pengganti
→ teks pengganti
📌 Penting: Kalau pakai string biasa, replace()
cuma mengganti satu kecocokan pertama. Kalau mau mengganti semua kecocokan, pakai Regular Expression (RegExp) dengan flag g
(global).
Contoh Dasar: Ganti Kata dalam String
Kita coba pakai replace()
buat ganti kata dalam sebuah teks:
let teks = "Saya suka kopi";
let hasil = teks.replace("kopi", "teh");
console.log(hasil);
// Output: "Saya suka teh"
📌 Kenapa ini kurang fleksibel?
replace()
cuma mengganti kata pertama yang ditemukan- Case-sensitive (huruf besar/kecil harus sama persis)
Kalau kita coba ini:
let teks = "Saya suka kopi. Kopi adalah minuman favorit saya.";
let hasil = teks.replace("kopi", "teh");
console.log(hasil);
// Output: "Saya suka teh. Kopi adalah minuman favorit saya."
Masalah: Kata "kopi" yang kedua nggak berubah. Gimana solusinya? Pakai RegExp! 😎
Menggunakan Regular Expression di replace()
Kalau mau ganti semua kecocokan, kita pakai RegExp dengan flag g
(global search):
let teks = "Saya suka kopi. Kopi adalah minuman favorit saya.";
let hasil = teks.replace(/kopi/gi, "teh");
console.log(hasil);
// Output: "Saya suka teh. Teh adalah minuman favorit saya."
📌 Penjelasan RegExp /kopi/gi
:
kopi
→ Pola yang mau dicarig
→ Global, supaya mengganti semua kecocokani
→ Case-insensitive, jadi "Kopi" dan "kopi" tetap diganti
Ganti Karakter atau Simbol Tertentu
Kita juga bisa pakai replace()
buat menghapus karakter tertentu. Misalnya, menghilangkan tanda baca dari teks:
let teks = "Halo, dunia! Bagaimana kabarnya?";
let hasil = teks.replace(/[,.!?]/g, "");
console.log(hasil);
// Output: "Halo dunia Bagaimana kabarnya"
📌 RegExp [,.!?]
mencari semua tanda baca, dan kita ganti dengan string kosong (""
) buat menghapusnya.
Ganti Format Teks: Ubah Tanggal ke Format Lain
Misalnya, kita punya tanggal dalam format DD-MM-YYYY, lalu mau diubah jadi YYYY/MM/DD:
let tanggal = "31-12-2024";
let hasil = tanggal.replace(/(\d{2})-(\d{2})-(\d{4})/, "$3/$2/$1");
console.log(hasil);
// Output: "2024/12/31"
📌 Penjelasan:
(\d{2})
menangkap dua digit pertama (31)(\d{2})
menangkap dua digit kedua (12)(\d{4})
menangkap empat digit terakhir (2024)$3/$2/$1
menyusun ulang formatnya jadi YYYY/MM/DD
Menggunakan Fungsi di replace()
Kadang, kita butuh sesuatu yang lebih fleksibel. Misalnya, mengganti angka dalam teks dengan angka dua kali lipatnya:
let teks = "Harga barang ini adalah 50 ribu dan 100 ribu.";
let hasil = teks.replace(/\d+/g, function(angka) {
return angka * 2;
});
console.log(hasil);
// Output: "Harga barang ini adalah 100 ribu dan 200 ribu."
📌 Penjelasan:
\d+
→ Mencari angka di teks- Fungsi dalam
replace()
→ Mengubah angka yang ditemukan jadi dua kali lipatnya
Ganti Kata dengan Sinonim Otomatis
Misalkan kita mau buat program sederhana buat mengganti kata dengan sinonimnya:
let teks = "Saya bahagia hari ini.";
let sinonim = {
"bahagia": "senang",
"hari ini": "sekarang"
};
let hasil = teks.replace(/\b(bahagia|hari ini)\b/g, match => sinonim[match]);
console.log(hasil);
// Output: "Saya senang sekarang."
📌 Penjelasan:
\b
→ Batas kata, supaya nggak salah ganti- Fungsi callback
match => sinonim[match]
→ Mengganti kata yang cocok dengan sinonimnya
Kapan Harus Pakai replace()
dengan RegExp?
Gunakan replace()
dengan Regular Expression kalau kamu butuh:
✅ Mengganti semua kecocokan dalam string
✅ Menghapus karakter tertentu (misalnya tanda baca)
✅ Mengganti format teks otomatis
✅ Menggunakan fungsi buat manipulasi teks lebih fleksibel
Kalau cuma butuh ganti satu kata pertama, cukup pakai string biasa.
Kesimpulan
Fungsi replace()
di JavaScript jadi lebih powerful kalau dipadukan dengan Regular Expression (RegExp). Dengan replace()
, kamu bisa:
✔ Ganti semua kata yang cocok dalam teks
✔ Hapus karakter tertentu dari string
✔ Ubah format teks secara otomatis
✔ Gunakan fungsi untuk manipulasi teks yang lebih kompleks
Sekarang, cobain sendiri di kode kamu!