我正在尝试在可内容编辑的 div 的按键上用空格拆分字符串。但是拆分的效果非常奇怪。
只需尝试运行以下代码一次:
var d = "mod india jned cjkdem demdjkjncj kdeknd kmdke kmdekmd".split(" ");
document.getElementById("result").innerHTML = JSON.stringify(d);
<div id="result"></div>
预期的输出应该是所有单词的数组。
最佳答案
您有一些不是普通空格(但不间断空格)的空白字符。要同时捕获它们,请使用正则表达式 /\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的代码.
关于javascript - .split() 在某些字符串上工作很奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44507523/