J'ai une zone de texte et j'utilise jQuery pour supprimer tous les onglets, nouvelles lignes, multi-espaces etc avec un seul espace chaque fois que la zone de texte est floue.JavaScript remplacer utiliser regex pour tous les espaces multilignes et autres caractères blancs
Cependant, lorsque j'utilise les éléments suivants:
str.replace(/\s/g, ' ')
... il supprime tous les onglets et les nouvelles lignes, mais pas les espaces multiples.
Lorsque je tente:
str.replace(/[ \s], ' ')
... la même chose.
Lorsque je tente:
str.replace(/[(?= +)\s], ' ')
... il ne sera pas échapper à mes parenthèses, etc.
Quelqu'un sait la syntaxe correcte pour ce que je suis en train de faire?
Merci.
Merci, j'espérais une solution générale que je pourrais utiliser n'importe où. Par exemple, que se passe-t-il si, à la place de tout espace, je ne voulais que des retours à la ligne, d'autres caractères aléatoires et des multispaces? Fondamentalement, j'espérais quelque chose qui me permettrait d'utiliser les [] s. – saccharine
@saccharine, vos exigences ne sont pas claires pour moi. La solution peut être généralisée en ajoutant les caractères que vous voulez à une classe de caractères et en ajoutant l'opérateur '+'. Par exemple. plusieurs r et espaces seraient '[r \ s] +'. Vous pouvez également remplacer les caractères par leurs propres correspondances: 'str.replace (/ ([r \ s]) + /, '$ 1')' – davin
Merci, je l'apprécie. Je pensais à regex dans le mauvais sens. – saccharine