104 votes

Supprimer les sauts de ligne du début et de la fin de la chaîne

J'ai remarqué que trim() ne supprime pas les caractères de saut de ligne en début et en fin de chaîne, donc j'essaie d'accomplir cela avec l'expression régulière suivante :

return str.replace(/^\s\n+|\s\n+$/g,'');

Cela ne supprime pas les sauts de ligne, et je crains d'être dépassé ici.

MODIFIER La chaîne est générée avec ejs comme ceci

go = ejs.render(data, { 
    locals: { 
        format() {
            // 
        }
    } 
});

Et voici ce qu'est go, mais avec quelques lignes vides avant. Lorsque j'utilise go.trim() j'obtiens toujours les sauts de ligne avant.

            ONLINE APPLICATION FOR SUMMARY ADVICE
            Re:
                SDF, SDF

            .. removed this content

145voto

hohner Points 6745

Essayer ceci :

str = str.replace(/^\s+|\s+$/g, '');

jsFiddle ici.

124voto

Ben Kane Points 6084

String.trim() supprime en fait les sauts de ligne (et tous les autres espaces blancs). Peut-être qu'il ne le faisait pas avant ? Cela le fait certainement au moment de la rédaction. Selon la documentation liée (soulignement ajouté) :

La méthode trim() supprime les espaces blancs des deux extrémités d'une chaîne de caractères. Les espaces blancs dans ce contexte sont tous les caractères d'espacement (espace, tabulation, espace insécable, etc.) et tous les caractères de fin de ligne (LF, CR, etc.).


Si vous souhaitez supprimer tous les sauts de ligne ainsi que tout autre espace blanc potentiel, vous pouvez utiliser ce qui suit :

return str.trim();

Si vous souhaitez seulement supprimer les sauts de ligne, vous pouvez utiliser une solution qui cible spécifiquement les sauts de ligne.

6voto

Bergi Points 104242

/^\s+|\s+$/g devrait attraper n'importe quoi. Votre regex actuelle pourrait avoir le problème que si vos sauts de ligne contiennent des caractères \r ils ne seraient pas appariés.

2voto

suhana Points 11

Retourne str.trim().replace(/^\s\n+|\s\n+$/g,'')

si vous l'utilisez de cette façon alors je supprimerai le saut de ligne du début et de la fin de la chaîne

-3voto

Oliver Points 113

Essayez ceci:

str.split('\n').join('');

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X