Wäre es möglich zu ändern
Hello, this is Mike (example)
zu
Hello, this is Mike
Verwenden von JavaScript mit Regex?
Wäre es möglich zu ändern
Hello, this is Mike (example)
zu
Hello, this is Mike
Verwenden von JavaScript mit Regex?
Antworten:
"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, "");
Ergebnis:
"Hello, this is Mike"
(example)
nur
var str = "Hello, this is Mike (example)";
alert(str.replace(/\s*\(.*?\)\s*/g, ''));
Dadurch werden auch überschüssige Leerzeichen vor und nach den Klammern ersetzt.
Versuchen / \([\s\S]*?\)/g
Wo
(Leerzeichen) entspricht
buchstäblich dem Zeichen (Leerzeichen)
\(
passt (
buchstäblich zum Charakter
[\S\s]
Entspricht einem beliebigen Zeichen ( \S
Entspricht einem Nicht-Leerzeichen und
\s
einem Leerzeichen)
*?
Übereinstimmungen zwischen null und unbegrenzten Zeiten
\)
passt )
buchstäblich zum Charakter
g
passt global
Codebeispiel:
var str = "Hello, this is Mike (example)";
str = str.replace(/ \([\s\S]*?\)/g, '');
console.log(str);
.as-console-wrapper {top: 0}
Ich fand diese Version für alle Fälle am besten geeignet. Es werden nicht alle Leerzeichen entfernt.
Zum Beispiel "a (Test) b" -> "a b"
"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, " ").trim();
"Hello, this is (example) Mike ".replace(/ *\([^)]*\) */g, " ").trim();
trim
wird nicht allgemein unterstützt: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… , zumindest war es nicht im Jahr 2015 ... im Jahr 2017 sieht es viel besser aus.