我有一个像xyz-12-1
这样的字符串。数字可以是任何东西,甚至文本也可以是任何东西。我试图提取字符串中的数字12
和1
。
我尝试并成功使用以下代码。
var test = "node-23-1";
test = test.replace(test.substring(0, test.indexOf("-") + 1), ""); //remove the string part
var node1 = test.substring(0, test.indexOf("-")); //get first number
var node2 = test.substring(test.indexOf("-") + 1, test.length); //get second number
alert(node1);
alert(node2);

我觉得这个代码太多了。 它工作正常。但有没有更可读,更有效的方法来做同样的事情?
答案 0 :(得分:3)
var res = 'xyz-12-1'.split('-'); // get values by index 1 and 2
var res1 = 'xyz-12-1'.match(/(\d+)-(\d+)/); // get values by index 1 and 2
document.write('<pre>' + JSON.stringify(res) +'\n'+ JSON.stringify(res1) + '</pre>');
答案 1 :(得分:1)
您可以简单地使用拆分功能。
喜欢这个'xyz-12-1'.split('-')[1]
和'xyz-12-1'.split('-')[2]