Replace All Special Character In String Javascript

Replace All Special Character In String Javascript

3 min read Jun 20, 2024
Replace All Special Character In String Javascript

Cara Mengganti Semua Karakter Khusus dalam String JavaScript

Dalam pemrograman JavaScript, kita seringkali dihadapkan pada situasi di mana kita perlu mengganti semua karakter khusus dalam string dengan karakter lain atau menghapusnya sama sekali. Karakter khusus disini merujuk pada karakter yang bukan merupakan huruf, angka, atau spasi.

Berikut ini beberapa cara untuk mengganti semua karakter khusus dalam string JavaScript:

Menggunakan Regular Expression

Metode ini menggunakan ekspresi regular untuk mencocokkan semua karakter khusus dalam string dan menggantinya dengan karakter yang diinginkan.

1. Mengganti dengan karakter lain:

const string = "Hello! World, 123";
const newString = string.replace(/[^a-zA-Z0-9 ]/g, "_");
console.log(newString); // Output: Hello_World_123

Kode di atas menggunakan ekspresi regular [^a-zA-Z0-9 ] yang akan mencocokkan semua karakter yang bukan huruf, angka, atau spasi. Kemudian, semua karakter yang dicocokkan akan diganti dengan karakter underscore (_).

2. Menghapus karakter khusus:

const string = "Hello! World, 123";
const newString = string.replace(/[^a-zA-Z0-9 ]/g, "");
console.log(newString); // Output: Hello World 123

Pada contoh ini, kita menggunakan ekspresi regular yang sama, tetapi kita mengganti karakter khusus dengan string kosong ("").

Menggunakan Loop dan Method charCodeAt()

Metode ini menggunakan loop untuk iterasi melalui setiap karakter dalam string, memeriksa apakah karakter tersebut merupakan karakter khusus, dan kemudian menggantinya dengan karakter yang diinginkan.

const string = "Hello! World, 123";
let newString = "";
for (let i = 0; i < string.length; i++) {
  const charCode = string.charCodeAt(i);
  if (
    (charCode >= 33 && charCode <= 47) ||
    (charCode >= 58 && charCode <= 64) ||
    (charCode >= 91 && charCode <= 96) ||
    (charCode >= 123 && charCode <= 126)
  ) {
    newString += "_";
  } else {
    newString += string[i];
  }
}
console.log(newString); // Output: Hello_World_123

Kode ini menggunakan method charCodeAt() untuk mendapatkan kode ASCII dari setiap karakter. Kode ASCII yang berada di rentang karakter khusus akan diganti dengan karakter underscore (_).

Pertimbangan

  • Regular expression lebih mudah digunakan dan lebih efisien untuk mengganti karakter khusus dalam string.
  • Loop dan method charCodeAt() memberikan kontrol yang lebih besar atas proses penggantian dan memungkinkan kita untuk menangani karakter khusus yang tidak dapat diidentifikasi dengan regular expression.

Pilih metode yang paling sesuai dengan kebutuhan Anda. Pastikan untuk memahami karakter khusus yang ingin Anda ganti dan karakter pengganti yang diinginkan.