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

时间:2015-04-27 15:40:35

标签: javascript

使用代码我发现研究如何在字符串(here)的字符之间插入空格,我修改了结果,但这并没有在' hello&之间的空格周围插入额外的空格#39;和世界' - 请你知道我错过了什么吗?另外,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);

4 个答案:

答案 0 :(得分:2)

  

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

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

  

L%2做了什么?

请参阅Understanding the modulus operatorFind if variable is divisible by 2

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

为了在HTML中显示空格,您可以

  • 将输出放在<pre>元素内。此元素 pre 提供空格。
  • 改为插入非折叠空格,例如&nbsp;&emsp;

答案 1 :(得分:1)

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

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

示例:

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

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

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

答案 2 :(得分:0)

要在已存在空格的页面上显示空格,请使用:

  &nbsp;

(非破坏空间的缩写)代替。

至于:

 L%2

这是&#34;的缩写,给我剩下的&#34;,在称为&#34; modulo&#34;或者只是&#34; mod&#34;

因此2%2(或者如果L是偶数)余数将等于0,或者被评估为假,而3%2(或者如果L是奇数)总是等于1并且被评估为真。这是一个常见的条件,用于说&#34;对我正在迭代/循环的所有其他操作执行此操作。

干杯!

答案 3 :(得分:0)

只需使用&nbsp;而不是空格。