Panduan Lengkap JavaScript replace(): Dasar hingga Lanjutan dengan Contoh Praktis

1. Pendahuluan

JavaScript adalah salah satu bahasa pemrograman yang paling banyak digunakan dalam pengembangan web. Secara khusus, manipulasi string sering digunakan saat menangani input pengguna atau pemrosesan data. Di antara berbagai fitur tersebut, replace() method dikenal sebagai alat yang kuat untuk melakukan penggantian string dengan mudah. Artikel ini akan membahas secara detail tentang metode replace() di JavaScript, mulai dari dasar hingga penerapan lanjutan. Tidak hanya penggunaan dasar, tetapi juga penggunaan ekspresi reguler (regex) untuk penggantian kompleks serta contoh praktis, sehingga cocok untuk pemula hingga pengguna tingkat menengah.

2. Dasar-dasar Metode replace()

Apa itu metode replace()?

Metode replace() adalah fungsi bawaan JavaScript yang digunakan untuk mengganti bagian tertentu dari string dengan string lain. Dengan metode ini, Anda dapat mengedit atau mengubah data string secara efisien.

Sintaks

string.replace(pattern, replacement)
  • pattern: String atau ekspresi reguler yang dicari.
  • replacement: String pengganti, atau fungsi callback.

Penggunaan Dasar

Contoh berikut menunjukkan penggantian string sederhana:  
let text = "Hello, world!";
let result = text.replace("world", "JavaScript");
console.log(result); // "Hello, JavaScript!"
Kode di atas mengganti string “world” dengan “JavaScript”.

Hal yang Perlu Diperhatikan

  1. replace() hanya mengganti bagian pertama yang cocok.
  2. Jika ingin mengganti semua kecocokan, gunakan ekspresi reguler dengan flag g.

3. Penggantian Lanjutan dengan Regex

Apa itu Regex?

Ekspresi reguler (regex) adalah alat yang kuat untuk merepresentasikan pola string. Dalam JavaScript, regex digunakan untuk pencarian pola kompleks atau penggantian string dengan mudah.

Contoh Penggantian dengan Regex

let text = "apple, banana, apple";
let result = text.replace(/apple/g, "orange");
console.log(result); // "orange, banana, orange"

Jenis Flag

  • g: Global (ganti semua kecocokan)
  • i: Abaikan perbedaan huruf besar/kecil
  • m: Mode multi-baris

Contoh: Penggantian Tanpa Membeda Huruf Besar/Kecil

let text = "Hello, hello, HELLO";
let result = text.replace(/hello/gi, "hi");
console.log(result); // "hi, hi, hi"

4. Mengganti Banyak Bagian

Penggantian Semua Kecocokan

Gunakan flag g pada regex untuk mengganti semua kecocokan:
let text = "cat dog cat bird";
let result = text.replace(/cat/g, "fish");
console.log(result); // "fish dog fish bird"

Teknik Mengganti Banyak String Sekaligus

let text = "red blue green";
let replacements = {red: "pink", blue: "cyan", green: "lime"};

Object.keys(replacements).forEach(key => {
  let regex = new RegExp(key, "g");
  text = text.replace(regex, replacements[key]);
});

console.log(text); // "pink cyan lime"
Metode ini memungkinkan mengganti banyak pola sekaligus dan meningkatkan keterbacaan kode.

5. Penggantian Dinamis dengan Callback Function

Apa itu Callback Function?

Callback function dipanggil saat proses penggantian berlangsung, dan memungkinkan kustomisasi menggunakan informasi hasil pencocokan.

Contoh Penggantian Dinamis

1. Menukar Urutan String

let text = "Tanaka, Taro";
let result = text.replace(/(w+), (w+)/, (match, p1, p2) => {
  return `${p2} ${p1}`;
});
console.log(result); // "Taro Tanaka"

2. Konversi Format Tanggal

let date = "2024-12-25";
let formattedDate = date.replace(/(d{4})-(d{2})-(d{2})/, (match, year, month, day) => {
  return `${month}/${day}/${year}`;
});
console.log(formattedDate); // "12/25/2024"

6. Penanganan Karakter Khusus & Escape Sequence

Apa itu Karakter Khusus?

Dalam regex, beberapa karakter memiliki arti khusus sebagai meta karakter. Untuk menggunakannya secara literal, perlu menggunakan escape sequence.

Contoh Penggantian dengan Karakter Khusus

Contoh 1: Mengganti String dengan Titik

let text = "www.example.com";
let result = text.replace(/./g, "-");
console.log(result); // "www-example-com"

Contoh 2: Menghapus Simbol Dollar

let price = "$1,000";
let result = price.replace(/$/g, "");
console.log(result); // "1,000"

Penggantian Karakter HTML Escape

Contoh: Escape Tag HTML

let html = "<div>Hello!</div>";
let result = html.replace(/</g, "&lt;").replace(/>/g, "&gt;");
console.log(result);
// "&lt;div&gt;Hello!&lt;/div&gt;"

7. Contoh Praktis & Teknik Lanjutan

Mengganti Karakter Baris Baru dengan Tag <br>

let text = "HellonWorldnJavaScript";
let result = text.replace(/n/g, "<br>");
console.log(result);
// "Hello<br>World<br>JavaScript"

Manipulasi Parameter URL

let url = "https://example.com/?id=123&lang=en";
let result = url.replace(/lang=en/, "lang=ja");
console.log(result);
// "https://example.com/?id=123&lang=ja"

Sanitasi Input Pengguna

function sanitizeInput(input) {
  return input.replace(/</g, "&lt;").replace(/>/g, "&gt;");
}

let userInput = "<script>alert('XSS');</script>";
let safeInput = sanitizeInput(userInput);
console.log(safeInput);
// "&lt;script&gt;alert('XSS');&lt;/script&gt;"

8. Catatan Penting & Best Practice

Hanya Kecocokan Pertama yang Diganti

let text = "apple apple orange";
let result = text.replace("apple", "banana");
console.log(result); // "banana apple orange"

Perhatikan Sensitivitas Huruf Besar/Kecil

let text = "JavaScript is powerful. javascript is versatile.";
let result = text.replace(/javascript/gi, "JS");
console.log(result);
// "JS is powerful. JS is versatile."

Perhatikan Escape Karakter Khusus

function escapeRegExp(str) {
  return str.replace(/[.*+?^${}()|[]\]/g, "\$&");
}

let text = "Price: $100";
let result = text.replace(new RegExp(escapeRegExp("$"), "g"), "USD ");
console.log(result);
// "Price: USD 100"

9. Kesimpulan

Ringkasan Artikel

  • Penggunaan dasar: Sintaks dan contoh sederhana metode replace().
  • Penerapan regex: Cara menggunakan regex dan flag untuk penggantian lanjutan.
  • Callback function: Metode penggantian dinamis dan contoh penerapannya.
  • Contoh praktis: Manipulasi URL, sanitasi input, dan teknik berguna lainnya.
  • Best practice: Hal-hal yang perlu diperhatikan serta tips performa.

Penutup

Metode replace() di JavaScript adalah alat yang serbaguna, dari penggunaan dasar hingga aplikasi lanjutan. Kami akan terus menghadirkan informasi bermanfaat seputar JavaScript, jadi nantikan artikel selanjutnya.
広告