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 ( \S
correspond à n'importe quel caractère non espace et
\s
correspond à 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();
trim
n'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.