Czy byłaby możliwa zmiana
Hello, this is Mike (example)
do
Hello, this is Mike
używasz JavaScript z Regex?
Czy byłaby możliwa zmiana
Hello, this is Mike (example)
do
Hello, this is Mike
używasz JavaScript z Regex?
Odpowiedzi:
"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, "");
Wynik:
"Hello, this is Mike"
(example)
tylko
var str = "Hello, this is Mike (example)";
alert(str.replace(/\s*\(.*?\)\s*/g, ''));
Spowoduje to również zastąpienie nadmiaru białych znaków przed i po nawiasach.
Próbować / \([\s\S]*?\)/g
Gdzie
(
spacja) dosłownie dopasowuje znak (spację)
\(
dopasowuje znak (
dosłownie
[\s\S]
dopasowuje dowolny znak ( \s
dopasowuje dowolny biały znak i \S
dowolny inny znak niż biały znak)
*?
dopasowania od zera do nieograniczonej liczby razy
\)
dopasowuje znak )
dosłownie
g
pasuje na całym świecie
Przykład kodu:
var str = "Hello, this is Mike (example)";
str = str.replace(/ \([\s\S]*?\)/g, '');
console.log(str);
.as-console-wrapper {top: 0}
Uważam, że ta wersja jest najbardziej odpowiednia do wszystkich przypadków. Nie usuwa wszystkich białych znaków.
Na przykład „a (test) b” -> „a b”
"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, " ").trim();
"Hello, this is (example) Mike ".replace(/ *\([^)]*\) */g, " ").trim();
trim
nie jest powszechnie obsługiwana: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/ ... , przynajmniej nie było w 2015 ... w 2017 wygląda dużo lepiej.