Supprimer les sauts de ligne à partir de début et de fin de chaîne

J'ai remarqué que trim() ne supprime pas les caractères de nouvelle ligne de début et de fin de chaîne, donc je suis en train d'accomplir ceci avec la regex suivante:

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

Cela ne supprime pas les nouvelles lignes, et j'ai peur, je suis hors de ma profondeur ici.

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

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

Et c'est ce que l'aller, mais avec quelques lignes vides avant. Lorsque j'utilise go.trim (), je reçois toujours les nouvelles lignes avant.

<?xml version="1.0"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="Out" page-width="8.5in" page-height="11in" margin-top="1in" margin-bottom="0.5in" margin-left="0.75in" margin-right="0.75in">
<fo:region-body margin-top="1in" margin-bottom="0.25in"/>
<fo:region-before extent="1in"/>
<fo:region-after extent="0.25in"/>
<fo:region-start extent="0in"/>
<fo:region-end extent="0in"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="Out" initial-page-number="1" force-page-count="no-force">
<fo:static-content flow-name="xsl-region-before">
<fo:block font-size="14pt" text-align="center">ONLINE APPLICATION FOR SUMMARY ADVICE</fo:block>
<fo:block font-size="13pt" font-weight="bold" text-align="center">Re:
SDF, SDF
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body" font="10pt Helvetica">
.. removed this content
</fo:flow>
</fo:page-sequence>
</fo:root>
  • Essayez: /^[\s\n]+|[\s\n]+$/
  • Ce trim utilisez-vous? Le standard n'. Aussi, merci de nous montrer votre chaîne, vous avez peut-être un peu bizarre (invisible) caractères là.
  • Vraiment Javascript trim() ne supprime pas newlines? Mais il faut supprimer toutes les whitespaces de la fin? Et newline devrait être l'un d'entre eux. \n est un sous-élément de \s.
  • mais les sauts de ligne sont inclus dans \s
  • Ah oui!, \t\r ainsi, je suppose?
  • Pouvons-nous obtenir des précisions ici? ne trim se débarrasser de caractères de saut de ligne
  • trim() supprimé les caractères de saut de ligne à la fin de ma Chaîne (bash sortie de execSync) donc il doit y avoir quelque chose de bizarre avec sa chaîne.

InformationsquelleAutor Jen Zhang | 2013-01-28