.split()在一些字符串上工作很奇怪

时间:2017-06-12 19:43:37

标签: javascript

我试图在一个contenteditable div的按键上拆分一个带空格的字符串。但这种分裂工作非常糟糕。

尝试运行以下代码一次:

var d = "mod india jned cjkdem demdjkjncj kdeknd kmdke kmdekmd".split(" ");
document.getElementById("result").innerHTML = JSON.stringify(d);
<div id="result"></div>

预期输出应该是所有单词的数组。

1 个答案:

答案 0 :(得分:8)

您有一些空白字符不是普通空格(但是不间断的空格)。要捕获它们,请使用正则表达式/\s/,如下所示:

var d = "mod india jned cjkdem demdjkjncj kdeknd kmdke kmdekmd".split(/\s/);
document.getElementById("result").innerHTML = JSON.stringify(d);
<div id="result"></div>

以下是使用charCodeAt(0)

查看您的空白字符的方法

var d = "mod india jned cjkdem demdjkjncj kdeknd kmdke kmdekmd".match(/\s/g)
       .map(ch => ch.charCodeAt(0));
document.getElementById("result").innerHTML = JSON.stringify(d);
<div id="result"></div>

代码32代表普通空间,而160代表non-breaking space