Javascript RegEx最后一期空间发行

Javascript RegEx最后一期空间发行,javascript,regex,Javascript,Regex,我的正则表达式=/\s+/ 我想实现所有数字都用空格分隔。它可以工作,但它也捕获最后一个空间(因为我正在拆分它,最后一个空间将作为“”数组元素) “123 123 213”-工作正常 “211221421”-捕捉最后一个空格 如何解决这个问题?您只需使用单词边界即可 \b\s+\b 您可以简单地使用单词边界 \b\s+\b 在运行正则表达式和结束之前修剪字符串。在运行正则表达式和结束之前修剪字符串。修剪所有前导和尾随空格,然后拆分: var numArr=“21 12 21 421”。替换(

我的正则表达式=
/\s+/

我想实现所有数字都用空格分隔。它可以工作,但它也捕获最后一个空间(因为我正在拆分它,最后一个空间将作为“”数组元素)

“123 123 213”-工作正常

“211221421”-捕捉最后一个空格


如何解决这个问题?

您只需使用单词边界即可

\b\s+\b

您可以简单地使用单词边界

\b\s+\b

在运行正则表达式和结束之前修剪字符串。

在运行正则表达式和结束之前修剪字符串。

修剪所有前导和尾随空格,然后拆分:

var numArr=“21 12 21 421”。替换(/^\s++\s++$/g,”)。拆分(/++/)

就这样


根据您的环境,您只需使用内置修剪方法即可

var numArr=“21 12 21 421”.trim().split(“”)


如果您没有修剪,但想使用它,可以从以下位置尝试此polyfill:


修剪所有前导空格和尾随空格,然后拆分:

var numArr=“21 12 21 421”。替换(/^\s++\s++$/g,”)。拆分(/++/)

就这样


根据您的环境,您只需使用内置修剪方法即可

var numArr=“21 12 21 421”.trim().split(“”)


如果您没有修剪,但想使用它,可以从以下位置尝试此polyfill:

直接在字符串上使用此正则表达式:
\s+(?=\s)
,无需修剪。()

这将匹配后跟至少一个非空格字符的任何空格。

直接在字符串上使用此正则表达式:
\s+(?=\s)
,无需修剪。()



它匹配任何后跟至少一个非空格字符的空格。

您在此处使用的语言在此处使用的语言它可以工作,但它仍然读取第一个空格。我的意思是,如果字符串==”“如何?这是不可能的。将很好地分割,但尾部空间仍然存在。试试
“21 12 21 421”。拆分(/\b\s+\b/)
@EirikBirkeland ya,最后一个空格仍然存在,认为这是op所期望的,不是吗?它工作,但它仍然读取第一个空格。我的意思是,如果字符串==”“如何?这是不可能的。将很好地分割,但尾部空间仍然存在。试试看
“211221421”。split(/\b\s+\b/)
@EirikBirkeland ya,剩下最后一个空格,你认为这是op所期望的,不是吗?我不知道你用的是什么语言,但是come语言有ltrim(rtrim(yourstring))左修剪,右修剪JavaScript,如上所述。修剪工作正常,但空字符串不知怎么会修剪。好的,明白了。它的值为“”。现在它修好了。谢谢你的解决方案!我不知道你用的是什么语言,但是come语言有ltrim(rtrim(yourstring))左修剪,右修剪javascript,如上所述。修剪工作正常,但空字符串不知怎么会修剪。好的,明白了。它的值为“”。现在它修好了。谢谢你的解决方案!陛下兴趣解决方案,除1例外工作正常。如果我们放置一个字符串,比如“213”—这些最后的空格将作为元素计算。哎呀,忘了g—现在试试。如果没有全局标志,它将只执行一次操作。此外,如果存在,它现在在数字之间的多个空格上拆分:/+/Hm。。。兴趣解决方案,除1例外工作正常。如果我们放置一个字符串,比如“213”—这些最后的空格将作为元素计算。哎呀,忘了g—现在试试。如果没有全局标志,它将只执行一次操作。此外,它现在在数字之间的多个空格上拆分(如果存在):/+/