从该字符串中提取john和5并将它们存储在变量中

时间:2015-07-28 09:35:00

标签: javascript regex node.js string split

我是编程新手,我有以下字符串:

var username=Owners|cnt1|john,Status|cnt1|8

我希望提取'john'用户名将从此变量更改并8,并将其存储在两个单独的变量中。有人可以帮忙吗

以下代码是否有效?

var re = /(test\d+)\-(\d+)/g;

var arr = [];

2 个答案:

答案 0 :(得分:1)

未能在字符串中找到test。所以匹配,之前存在的单词和最后一个数字。



var username = "Owners|cnt1|john,Status|cnt1|8"
s = username.match(/[^|,]+(?=,)|\d+$/g)
var user = s[0];
var pass  = s[1];
alert(user);
alert(pass)




答案 1 :(得分:0)

您只需使用split()方法即可:

var username = "Owners|cnt1|john,Status|cnt1|8";

var words = username.split("|");

var name = words[2].split(",")[0];
var num = words[4];

alert("Name is: " + name + " and number is: " + num);

这是Regex的解决方案:

var matches = username.match(/(?!\|)(\w+)(?!,)|(?!\|)(\d+)$/g);
var name = matches[0];
var num = matches[1];
console.log("With Regex, Name is: " + name + " and number is: " + num);