Javascript从字符串中提取特定文本的最佳方法

时间:2016-02-18 06:50:45

标签: javascript

我有一个像xyz-12-1这样的字符串。数字可以是任何东西,甚至文本也可以是任何东西。我试图提取字符串中的数字121。 我尝试并成功使用以下代码。



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);




我觉得这个代码太多了。 它工作正常。但有没有更可读,更有效的方法来做同样的事情?

2 个答案:

答案 0 :(得分:3)

您可以使用 match() split()

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]