所以我想将此字符串中的每个'+'替换为空格''EST++++++++++%5E0+90310++162所以我想要的输出是:EST %5E0 90310 162我已经试过了:var l = l.replace(/\+/g, " ");除了连续出现的情况外,它的工作原理并不复杂,它将所有连续的+替换为一个空格。所以我得到了这个,而不是我想要的:EST %5E0 90310 162 最佳答案 我的灵性告诉我,您实际上已经获得了多个空格,但是您将其显示为HTML,并且在那里(如here所述)连续的空格被折叠为一个空格。编辑:事实上,当您发布问题时,这似乎恰好发生在您的问题本身上,并在此线程中造成了一些混乱;)如果要保留空格,请用不间断空格(HTML中的&nbsp;替换-但这会修改​​字符串的值),或以其他方式显示它以保留空格,例如在元素,方法是在包含的元素上使用CSS属性<pre>。请参阅以下示例:var value = 'EST++++++++++%5E0+90310++162'.replace(/\+/g, " ");document.getElementById('element1').innerHTML = value;document.getElementById('element2').innerHTML = value;<p> <span id="element1"></span></p><p> <pre id="element2"></pre></p>(或者,如果您像我在代码段中一样使用white-space: pre;分配内容,则解决方案可能就像更改为.innerHTML一样简单。但是我不知道确切地在哪里使用此代码,因此此解决方案不适用。)关于javascript - javascript替换每个连续出现的字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42859264/
10-09 19:03