Serait-il possible de changer
Hello, this is Mike (example)
à
Hello, this is Mike
utiliser JavaScript avec Regex?
Serait-il possible de changer
Hello, this is Mike (example)
à
Hello, this is Mike
utiliser JavaScript avec Regex?
Réponses:
"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, "");
Résultat:
"Hello, this is Mike"
(example)seulement
var str = "Hello, this is Mike (example)";
alert(str.replace(/\s*\(.*?\)\s*/g, ''));
Cela remplacera également les espaces en excès avant et après les parenthèses.
Essayer / \([\s\S]*?\)/g
Où
(espace) correspond littéralement au caractère (espace)
\(correspond (littéralement au caractère
[\S\s]correspond à n'importe quel caractère ( \Scorrespond à n'importe quel caractère non espace et
\scorrespond à n'importe quel caractère espace)
*? correspond entre zéro et des temps illimités
\)correspond )littéralement au caractère
g correspond globalement
Exemple de code:
var str = "Hello, this is Mike (example)";
str = str.replace(/ \([\s\S]*?\)/g, '');
console.log(str);
.as-console-wrapper {top: 0}
J'ai trouvé cette version la plus adaptée à tous les cas. Il ne supprime pas tous les espaces.
Par exemple "a (test) b" -> "a b"
"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, " ").trim();
"Hello, this is (example) Mike ".replace(/ *\([^)]*\) */g, " ").trim();
trimn'est pas universellement pris en charge: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… , du moins ce n'était pas en 2015 ... en 2017, ça a l'air beaucoup mieux.