I got HTML element contains this:
<!--Product Style--> <div style="float: right; padding-top: 4px; padding-bottom: 5px;"> P6C245RO </div> <div style="text-transform: uppercase; font-weight: bold; padding-top: 4px; padding-bottom: 5px;"> Style </div> <div style="clear: both; border-top: 1px solid rgb(216, 216, 216); padding-top: 4px;"> <!--Product Description--> <div style="font-size: 11px ! important;"></div> <div style="background: url("http://ii.armaniexchange.com/ArmaniExchange/images/en_US/global/globalgraphics/bullet.gif") no-repeat scroll 0pt 4px transparent; padding-left: 12px;">fine tonal striped fabric</div> <div style="background: url("http://ii.armaniexchange.com/ArmaniExchange/images/en_US/global/globalgraphics/bullet.gif") no-repeat scroll 0pt 4px transparent; padding-left: 12px;">epaulettes and sleeve tab</div> <div style="background: url("http://ii.armaniexchange.com/ArmaniExchange/images/en_US/global/globalgraphics/bullet.gif") no-repeat scroll 0pt 4px transparent; padding-left: 12px;">metal logo plate on the chest pocket</div>
When i read it using jquery i get the .text()
contains a lot of spaces and /n in between the text but without the html tags.
How to remove all these white spaces and return the clean text using jquery or pure javascript?
"; string = string. replace(/\s+/g, " ");
The $. trim() function removes all newlines, spaces (including non-breaking spaces), and tabs from the beginning and end of the supplied string. If these whitespace characters occur in the middle of the string, they are preserved.
If you are just dealing with excess whitespace on the beginning or end of the string you can use trim() , ltrim() or rtrim() to remove it. If you are dealing with extra spaces within a string consider a preg_replace of multiple whitespaces " "* with a single whitespace " " .
You can remove the whitespace in a string by using a string. replace(/\s/g, "") regular expression or a string. split(" "). join("") method.
element.text().replace(/\s+/g, " ");
This uses a regular expression (/.../
) to search for one or more (+
) whitespace characters (\s
) throughout the element's text (g
, the global modifier, which finds all matches rather than stopping after the first match) and replace each with one space (" "
).
For the string
" this is my string "
You probably want to make the excessive spaces single spaces, but remove the leading and trailing spaces entirely. For that, add another .replace
s.replace(/\s+/g, " ").replace(/^\s|\s$/g, "");
For
"this is my string"
Update
s.replace(/\s+/g, " ").trim()
Thanks, @Pier-Luc Gendreau
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With