如何在字符串中插入空格,包括在字符串中的空格周围?
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%2
是 L 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提供空格。
改为插入非折叠空格,例如&nbsp;
或&emsp;
。
【讨论】:
谢谢你,菲利克斯。 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】:只需使用&nbsp;
而不是空格。
【讨论】:
【参考方案4】:要让空格出现在已经存在空格的页面上,请使用:
(不间断空格的缩写)。
至于:
L%2
这是“给我余数”的缩写,在常见的圈子中称为“模数”或简称为“模数”
所以 2%2(或如果 L 为偶数)余数将等于 0,或评估为假,而 3%2(或如果 L 为奇数)将始终等于 1 并评估为真。这是说“对我正在迭代/循环的所有其他操作执行此操作”的常见条件。
干杯!
【讨论】:
谢谢你,史蒂夫——非常感谢!以上是关于如何在字符串中插入空格,包括在字符串中的空格周围?的主要内容,如果未能解决你的问题,请参考以下文章