Saya mencoba mencari persamaan reguler yang akan cocok dengan karakter apa pun yang bukan huruf atau angka. Jadi karakter seperti (,, @, £, () dll ...
Setelah ditemukan saya ingin menggantinya dengan spasi kosong.
Ada saran.
Saya mencoba mencari persamaan reguler yang akan cocok dengan karakter apa pun yang bukan huruf atau angka. Jadi karakter seperti (,, @, £, () dll ...
Setelah ditemukan saya ingin menggantinya dengan spasi kosong.
Ada saran.
Jawaban:
Untuk mencocokkan apa pun selain huruf atau angka, Anda dapat mencoba ini:
[^a-zA-Z0-9]
Dan untuk mengganti:
var str = 'dfj,dsf7lfsd .sdklfj';
str = str.replace(/[^A-Za-z0-9]/g, ' ');
Ekspresi reguler ini cocok dengan apa pun yang bukan berupa huruf, angka, atau garis bawah ( _
).
\W
Misalnya di JavaScript:
"(,,@,£,() asdf 345345".replace(/\W/g, ' '); // Output: " asdf 345345"
Anda mencari:
var yourVar = '1324567890abc§$)%';
yourVar = yourVar.replace(/[^a-zA-Z0-9]/g, ' ');
Ini menggantikan semua karakter non-alfanumerik dengan spasi.
Huruf "g" di akhir menggantikan semua kemunculan.
Alih-alih menentukan az (huruf kecil) dan AZ (huruf besar) Anda juga dapat menggunakan di-case-sensitive pilihan: /[^a-z0-9]/gi
.
Ini sudah terlambat, tetapi karena tidak ada jawaban yang diterima, saya ingin memberikan jawaban yang menurut saya paling sederhana: \ D - cocok dengan semua karakter bukan digit.
var x = "123 235-25%";
x.replace(/\D/g, '');
Hasil dalam x: "12323525"
Lihat https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
coba lakukan str.replace (/ [^ \ w] /); Ini akan menggantikan semua non-alfabet dan angka dari string Anda!
Edit 1: str.replace(/[^\w]/g, ' ')
str.replace(/[^\w]/g, ' ')
. Jika Anda tidak menyertakan /g
bendera, itu hanya akan menggantikan kemunculan pertama. Dan jika Anda tidak menentukan string pengganti, di sini spasi kosong ' '
, akan diganti di undefined
semua tempat. Terakhir, garis bawah tidak akan diganti karena cocok \w
. Jawaban ini tidak pas.
/[A-Z]/ig
/[^A-Z]/ig
/[0-9]/g
atau/\d+/g
/[^0-9]/g
atau/\D+/g
/[^A-Z0-9]/ig
Ada kemungkinan pola lain
Hanya untuk dilihat orang lain:
someString.replaceAll("([^\\p{L}\\p{N}])", " ");
akan menghapus karakter unicode non-huruf dan non-angka.
replaceAll
, dan \p{..}
pelarian properti tidak diterapkan secara luas.
Sudahkah Anda mencobanya str = str.replace(/\W|_/g,'');
akan mengembalikan string tanpa karakter apa pun dan Anda dapat menentukan apakah ada karakter utama setelah pipa bar |
untuk menangkap mereka juga.
var str = "1324567890abc§$)% John Doe #$@'.replace(/\W|_/g, '');
itu akan kembali str = 1324567890abcJohnDoe
atau cari angka dan huruf dan gantikan dengan string kosong (""):
var str = "1324567890abc§$)% John Doe #$@".replace(/\w|_/g, '');
itu akan kembali str = '§$)% #$@';
Untuk mencocokkan apa pun selain huruf atau angka atau huruf dengan diakritik seperti é
Anda dapat mencoba ini:
[^\wÀ-úÀ-ÿ]
Dan untuk mengganti:
var str = 'dfj,dsf7é@lfsd .sdklfàj1';
str = str.replace(/[^\wÀ-úÀ-ÿ]/g, '_');
Terinspirasi oleh pos teratas dengan dukungan untuk diakritik
\w
adalah untuk karakter Word dan persis sama dengan[a-zA-Z0-9_]
(perhatikan bahwa garis bawah dianggap sebagai karakter kata.) ... jadi singkatannya adalahstr.replace(/[^\w]/g, ' ')