I noticed that trim() does not remove new line characters from the start and end of a string, so I am trying to accomplish this with the following regex:
return str.replace(/^\s\n+|\s\n+$/g,''); This does not remove the new lines, and I fear I am out of my depth here.
EDIT The string is being generated with ejs like so
go = ejs.render(data, { locals: { format() { // } } }); And this is what go is, but with a few empty lines before. When I use go.trim() I still get the new lines before.
<?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>
/^[\s\n]+|[\s\n]+$/trimdo you use? The standard one does. Also, please show us your string, maybe you have some weird (invisible) characters in there.Javascripttrim()does not removenewlines? But it should remove all thewhitespacesfrom the ends? Andnewlineshould be one of them.\nis a subelement of\s.\strim()removed newline characters at the end of my String (bash output from execSync) so there must be something strange going on with his string.