Javascript 使用jquery将字符串按整数拆分

Javascript 使用jquery将字符串按整数拆分,javascript,jquery,regex,Javascript,Jquery,Regex,我有一条长长的绳子 "When I was 10 year old" 我必须将此字符串拆分为一个数组:[“我当时”、“10岁”、“岁”] 整数在不同的情况下可能不同,句子也可能发生变化 简言之,我想用整数分割字符串 可能吗 如何在Jquery/java脚本中使用正则表达式与split结合使用 你可以用 var str = "When I was 10 year old"; var arr = str.match(/(\D*)\s(\d*)\s(\D*)/).slice(1); 结果: ["

我有一条长长的绳子

"When I was 10 year old"
我必须将此字符串拆分为一个数组:
[“我当时”、“10岁”、“岁”]

整数在不同的情况下可能不同,句子也可能发生变化

简言之,我想用整数分割字符串 可能吗

如何在Jquery/java脚本中使用正则表达式与split结合使用

你可以用

var str = "When I was 10 year old";
var arr = str.match(/(\D*)\s(\d*)\s(\D*)/).slice(1);
结果:

["When I was", "10", "year old"]

您要查找的regexp非常简单

/\D+|\d+/g
例如:

> str = "When I was 10 year old"
"When I was 10 year old"
> str.match(/\D+|\d+/g)
["When I was ", "10", " year old"]
要清除空间,请执行以下操作:

> str.split(/(?:\s*(\d+)\s*)/g)
["When I was", "10", "year old"]

你不需要使用jquery。你需要这个做什么?下一步是什么?我猜你没有测试。那只是找到整数。它并没有像他所问的那样将字符串分割成数组。@dystroy完成了修剪,我知道很多代码,但我只是在没有正则表达式的情况下测试我的技能。@dystroy你能给我一些学习正则表达式的链接吗。我知道正则表达式,但只知道基础知识。@dystroy Thy这么多:)var r=/\d+/;var str=“你今天过得怎么样?”;var n=str.split(r);works@xanatos我不再需要最后一个过滤器version@Eez它无法获得所需的三个部件OP@dystroy这样行吗?数字后的最后一个剩余部分将位于第三个部分。但是同意这一点会使它更具体。+1你是对的,即使它仍然需要修剪。编辑:just+1 now:)[只是说]如果数字是第一个,那么它将在数组中添加一个空元素,这可以通过使用
filter
函数避免,如图所示。如何拆分带有数字和符号的字符串,如“30%”?@georg不需要,它肯定会被标记为重复,但我想,它的num=str.split(“%”)但是我不确定num[1]是否会是“%”,bcz我也需要它。
> str.split(/(?:\s*(\d+)\s*)/g)
["When I was", "10", "year old"]