JavaScript-为什么使用正则表达式拆分会产生空白数组?
我正在处理一个正则表达式问题,刚刚遇到了一些意外行为。JavaScript-为什么使用正则表达式拆分会产生空白数组?,javascript,regex,split,Javascript,Regex,Split,我正在处理一个正则表达式问题,刚刚遇到了一些意外行为。 如果我用单词cherters(\w)输入单词“Hello”,我会得到一个空字符串的数组: "Hello".split(/\w/) Array(6) [ "", "", "", "", "", "" ] 我希望他能来。 为什么会发生这种情况? 我可以使用什么正则表达式来创建所需的结果 编辑 我想使用正
如果我用单词cherters(
\w
)输入单词“Hello”,我会得到一个空字符串的数组:
"Hello".split(/\w/)
Array(6) [ "", "", "", "", "", "" ]
我希望他能来。为什么会发生这种情况?
我可以使用什么正则表达式来创建所需的结果 编辑
我想使用正则表达式的全部原因是因为我有一个包含表情符号的字符串,所以
Hello您不需要正则表达式,您可以在空字符串上拆分以获得字符:
var result=“Hello”.split(“”)
console.log(result)
获得空数组的原因是split()
的第一个参数搜索一个模式,在本例中,模式是一个字符,split将单词Hello
除以每个字符,这就是为什么会得到空字符串
要实现您想要的,请使用split(“”)
var res=“Hello”.split(“”)
console.log(res)
它完全接受您所做的操作。要查找拆分的值是一个单词字符,您可以得到所有字符之间的确切空格
console.log(“Hello.split(/\w/))代码>您将拆分
(匹配分隔符)与匹配
(匹配内容)混淆。使用split
可以识别实际内容的分隔内容,因此将排除匹配项本身。有了match
你就得到了你真正想要的东西。请注意,使用match
时,您需要使用g
修饰符明确表示您想要所有这些:
让arr=“Hello”匹配(/\w/g);//您需要g[lobal]修饰符
console.log(arr);//[“H”、“e”、“l”、“l”、“o”]
我应该解释我想这样做的全部原因。我有一个包含表情符号的字符串,比如Hello