javascript - .split() 在某些字符串上工作很奇怪

标签 javascript

我正在尝试在可内容编辑的 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/

相关文章:

javascript - 试验 DOM 函数

javascript - chrome setTimeout 和 fade

javascript - 模型更改事件不会触发

javascript - 如何用Node和Express将图像从后端发送到 View ?

javascript - 展平嵌套并包含 javascript 文件

javascript - 在 EaselJS 中调整矩形大小

javascript - 可实例化的 Angular 服务 - 我还能用什么其他方式重写它?

javascript - 如何取消 Polymer 创建的事件

javascript - Discord.js Ping 号码的问题

javascript - DTLS 握手未完成 - ORTC 原型(prototype)