如何在字符串中插入空格,包括在字符串中的空格周围?

Posted

技术标签:

【中文标题】如何在字符串中插入空格,包括在字符串中的空格周围?【英文标题】:How do I insert spaces in a string, including around the space in the string? 【发布时间】:2015-07-06 04:00:09 【问题描述】:

使用我发现的研究如何在字符串的字符之间插入空格 (here) 的代码,我修改了结果,但这不会在“hello”和“world”之间的空格周围插入额外的空格 - 会请让我知道我错过了什么?另外,L%2 是做什么的?谢谢!结果输出到浏览器很重要。

var s = 'hello world';

var L = s.length;

L = (L%2) ? ' ' + s.charAt(L-1) : '';  
// what does L%2 do?

var M = s.match(/(.1)/g) ;

if (M) s = M.join(' ') ;

document.write(s);

【问题讨论】:

"但这不会在空格周围插入额外的空格" 会,但是 html 会折叠连续的空格。改为使用console.log L%2L modulo 2 并且将是 0 如果 L 可以除以 2 并且有一个 0 其余 wikipedia。对于多个空格,请尝试使用  而不是` `。 谢谢,@Felix。是的,在 console.log 中我看到了额外的空间。如何在 HTML 中显示多余的空格? % 符号是模数。 “该部门的其余部分”。因此,10%2 = 0, 11%2 = 1。在您的情况下,如果 L 是奇数,则计算结果为真 (1),如果 L 是偶数,则计算结果为假 (0)。 将其包装在
 标签中。
【参考方案1】:

...但这不会在空间周围插入额外的空格...

确实如此,但 HTML 会折叠连续的空格,因此额外的空格是不可见的。请改用console.log

L%2 是做什么的?

参见Understanding the modulus operator 和Find if variable is divisible by 2。

这里用来检查字符串的长度L是偶数还是奇数。但是,由于您没有使用L,因此它似乎没有任何相关性。


为了使空格在 HTML 中可见,您可以

将输出放在<pre> 元素中。此元素pre提供空格。 改为插入非折叠空格,例如  

【讨论】:

谢谢你,菲利克斯。 L%2 的解释很有帮助。 :)【参考方案2】:

请注意,您链接到的线程中的问题与您的不同,并且该代码在您的情况下没有多大意义。要在字符串中的字符之间插入空格(或其他),您只需使用

 string.split("").join(whatever)

例子:

s = "hello world";
f = s.split("").join(" ");
document.write(f)

如果您的最终目标是增加字符间距,那么更简单(也更正确)的方法是使用 css:

<span style="letter-spacing: 0.5em">hello world</span>

【讨论】:

谢谢你,@georg。你的回答要简单得多,关于 CSS 的使用我同意,这就是我会做的。这个问题是我无法回答的工作代码测试的一部分,所以我后来开始学习它。我特别喜欢您的解决方案的简单性。【参考方案3】:

只需使用  而不是空格。

【讨论】:

【参考方案4】:

要让空格出现在已经存在空格的页面上,请使用:

   

(不间断空格的缩写)。

至于:

 L%2

这是“给我余数”的缩写,在常见的圈子中称为“模数”或简称为“模数”

所以 2%2(或如果 L 为偶数)余数将等于 0,或评估为假,而 3%2(或如果 L 为奇数)将始终等于 1 并评估为真。这是说“对我正在迭代/循环的所有其他操作执行此操作”的常见条件。

干杯!

【讨论】:

谢谢你,史蒂夫——非常感谢!

以上是关于如何在字符串中插入空格,包括在字符串中的空格周围?的主要内容,如果未能解决你的问题,请参考以下文章

代码格式:在 JSX 代码中的二元运算符周围添加空格

当在其中一个字符串中插入空格时匹配两个字符串中的元素

如何在 bash 中的任意数量的空格之后搜索和替换字符串?

如何使用 MySQL 字符串函数在单词中插入空格?

如何在 JSF 页面中插入不间断空格字符?

Java Scanner - 除非存在引号,否则用空格分隔?