所以我想更换每个' +'在这个字符串中的空格' '
EST++++++++++%5E0+90310++162
所以我想要的输出是:
EST %5E0 90310 162
我试过这个:
var l = l.replace(/\+/g, " ");
除了连续发生之外,它们都是可行的,它用一个空格替换所有连续的+。
所以我得到的不是我想要的:
EST %5E0 90310 162
答案 0 :(得分:3)
我的通灵能力告诉我你实际上已经获得了多个空格,但是你将它显示为HTML并且在那里(如解释here)连续的空格被折叠到一个空格。
编辑:事实上,当你发布它时,你的问题本身就会发生这种情况,并且在这个帖子中引起了一些混淆;)
如果要保留空白,请将其替换为不间断的空格(HTML中的
- 但这将修改字符串的值)或以不同的方式显示它以保留空格,例如,在包含元素上使用CSS属性<pre>
在white-space: pre;
元素内部。
见这个例子:
var value = 'EST++++++++++%5E0+90310++162'.replace(/\+/g, " ");
document.getElementById('element1').innerHTML = value;
document.getElementById('element2').innerHTML = value;
&#13;
<p>
<span id="element1"></span>
</p>
<p>
<pre id="element2"></pre>
</p>
&#13;
(或者,如果您使用.innerHTML
分配内容,就像我在我的代码段中所做的那样,解决方案就像更改为.innerText
一样简单。但我不知道你在哪里完全使用此代码,以便此解决方案不适用。)
答案 1 :(得分:0)
对我来说工作正常,也许你输出值的方法是修剪多余的空间?
var l = 'EST++++++++++%5E0+90310++162'
//'EST %5E0 90310 162'
l = l.replace(/\+/g, " ");
console.log(l);