【问题标题】: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)。
  • 将其包装在
     标签中。

标签: javascript


【解决方案1】:

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

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

L%2 是做什么的?

参见Understanding the modulus operatorFind 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 并评估为真。这是说“对我正在迭代/循环的所有其他操作执行此操作”的常见条件。

    干杯!

    【讨论】:

    • 谢谢你,史蒂夫——非常感谢!
    猜你喜欢
    • 2020-10-22
    • 2012-07-12
    • 2015-01-13
    • 2015-02-06
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 2012-08-21
    • 2013-02-03
    相关资源
    最近更新 更多