Mir ist aufgefallen, dass trim() keine neuen Zeilenzeichen am Anfang und Ende einer Zeichenfolge entfernt, also versuche ich dies mit der folgenden Regex zu erreichen:
return str.replace(/^\s\n+|\s\n+$/g,'');
Dadurch werden die neuen Zeilen nicht entfernt, und ich fürchte, ich bin hier überfordert.
BEARBEITEN
Der String wird so mit ejs generiert
go = ejs.render(data, {
locals: {
format() {
//
}
}
});
Und das ist go, aber mit ein paar Leerzeilen davor. Wenn ich go.trim() verwende, bekomme ich immer noch die neuen Zeilen davor.
<?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>
Versuchen:
/^[\s\n]+|[\s\n]+$/
– Elclans
28. Januar 2013 um 22:30 Uhr
Was
trim
benutzt du? Der Standard tut es. Bitte zeigen Sie uns auch Ihren String, vielleicht haben Sie dort einige seltsame (unsichtbare) Zeichen.– Bergi
28. Januar 2013 um 22:31 Uhr
Wirklich
Javascript
trim()
entfernt nichtnewlines
? Aber es sollte alle entfernenwhitespaces
von den Enden? Undnewline
sollte einer davon sein.\n
ist ein Unterelement von\s
.– Rohit Jain
28. Januar 2013 um 22:31 Uhr
@elclanrs: Zeilenumbrüche sind enthalten
\s
– Bergi
28. Januar 2013 um 22:31 Uhr
@LeeBlake
trim()
Zeilenumbruchzeichen am Ende meines Strings entfernt (Bash-Ausgabe von execSync), also muss mit seinem String etwas Seltsames vor sich gehen.– Joshua Pinter
25. März 2016 um 18:18 Uhr