RegEx在数字后分隔变量 - jQuery

时间:2012-10-19 17:50:54

标签: jquery regex

我以这种格式递交了一个变量:

var fubar = e2s2

现在,这些字母总是一样的,但数字确实会发生变化。数字只能是1-9。最终结果我需要这样的东西:

var foo = e2
var bar = s2

我也会满足于这个数字。我只需要数字。

5 个答案:

答案 0 :(得分:3)

如果总是采用这种形式,则无需RegEx。

var foo = fubar.substr(0,2),
    bar = fubar.substr(2);

..或者,如果你只想要数字:

var foo = fubar.substr(1,1),
    bar = fubar.substr(3);

如果您真的需要RegEx解决方案,那么:

var digits = fubar.replace(/\d/g, '').split(''),
    foo    = digits[0],
    bar    = digits[1];

百万种方式。但除非你确实需要,否则请避免使用RegEx。

干杯

答案 1 :(得分:1)

这与split method

有关

(?![1-9])

(?=[^1-9])

注意:

使用(?![1-9]|^)来避免包含在结果数组中的空白

答案 2 :(得分:1)

var fubar = 'e2s2' ;

var foo = fubar.substr(0,2) ;
var bar = fubar.substr(2);

FIDDLE

答案 3 :(得分:1)

使用regex替换。以下代码可以使用

var fubar = "e2s2";
var a = fubar.replace(/\d/g, function(arg){ return arg+ ","}).split(",");
a.pop(); // removing last item.
var foo = a[0];
 var bar = a[1];

答案 4 :(得分:0)

如果元素的格式始终为一个非数字字符,后跟一个数字字符,则使用

elements = str.split(/(?=\D)/) 

获取数组中的完整元素;并获得数字(数字)数组,使用

(numbers = str.split(/\D/)).splice(0, 1);