gpt4 book ai didi

javascript 当字符连续出现时替换每个出现的字符

转载 作者:行者123 更新时间:2023-11-28 18:05:03 24 4
gpt4 key购买 nike

所以我想将此字符串中的每个“+”替换为空格“”

EST++++++++++%5E0+90310++162

所以我想要的输出是:

EST %5E0 90310 162

我已经尝试过这个:

var l = l.replace(/\+/g, " ");

除了当它们连续出现时之外,它的作用有点小,它将所有连续的 + 替换为一个空格。

所以我得到的是这个而不是我想要的:EST %5E0 90310 162

最佳答案

我的心灵力量告诉我,你实际上得到了多个空格,但你将其显示为 HTML,并且(如 here 所解释的)连续的空格被折叠为一个空格。

编辑:事实上,当您发布问题时,这似乎正是发生在您的问题本身上,并在该线程中造成了一些困惑;)

如果您想保留空格,请将其替换为不间断空格(HTML 中的 &nbsp; - 但这会修改​​字符串的值),或者以保留空格的不同方式显示它,例如里面 <pre>使用 CSS 属性 white-space: 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>

(或者,如果您像我在代码片段中那样使用 .innerHTML 分配内容,解决方案可能就像更改为 .innerText 一样简单。但我不知道您在哪里使用此代码,因此它可能该解决方案不适用。)

关于javascript 当字符连续出现时替换每个出现的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42859264/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com