Czy byłaby możliwa zmiana
Hello, this is Mike (example)
do
Hello, this is Mike
używasz JavaScript z Regex?
javascript
regex
Jack Moore
źródło
źródło
(example)
tylkovar 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.
źródło
Próbować
/ \([\s\S]*?\)/g
Gdzie
\(
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łownieg
pasuje na całym świeciePrzykład kodu:
var str = "Hello, this is Mike (example)"; str = str.replace(/ \([\s\S]*?\)/g, ''); console.log(str);
.as-console-wrapper {top: 0}
źródło
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();
źródło
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.Jeśli chcesz usunąć tekst również z zagnieżdżonych nawiasów, to:
var prevStr; do { prevStr = str; str = str.replace(/\([^\)\(]*\)/, ""); } while (prevStr != str);
źródło