Değiştirmek mümkün olabilir mi
Hello, this is Mike (example)
-e
Hello, this is Mike
Regex ile JavaScript mi kullanıyorsunuz?
Değiştirmek mümkün olabilir mi
Hello, this is Mike (example)
-e
Hello, this is Mike
Regex ile JavaScript mi kullanıyorsunuz?
Yanıtlar:
"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, "");
Sonuç:
"Hello, this is Mike"
(example)sadece
var str = "Hello, this is Mike (example)";
alert(str.replace(/\s*\(.*?\)\s*/g, ''));
Bu ayrıca parantezlerden önceki ve sonraki fazla boşlukların yerini alacaktır.
Deneyin / \([\s\S]*?\)/g
Nerede
(boşluk), karakterle (boşluk) tam anlamıyla eşleşir
\(karakterle (tam anlamıyla eşleşir
[\s\S]herhangi bir karakterle \seşleşir ( herhangi bir boşluk karakteriyle ve \Sboşluk olmayan herhangi bir karakterle eşleşir)
*? sıfır ve sınırsız zamanlar arasındaki eşleşmeler
\)karakterle )tam anlamıyla eşleşir
g küresel olarak eşleşir
Kod Örneği:
var str = "Hello, this is Mike (example)";
str = str.replace(/ \([\s\S]*?\)/g, '');
console.log(str);
.as-console-wrapper {top: 0}
Bu sürümü tüm durumlar için en uygun buldum. Tüm beyaz boşlukları kaldırmaz.
Örneğin "a (test) b" -> "a b"
"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, " ").trim();
"Hello, this is (example) Mike ".replace(/ *\([^)]*\) */g, " ").trim();
trimevrensel olarak desteklenmiyor: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… , en azından 2015'te değildi ... 2017'de çok daha iyi görünüyor.