js - 得到一块字符串

时间:2014-03-31 11:03:59

标签: javascript string

我在获取产品版本方面遇到了麻烦。

例如,我有3个字符串:

字符串1:version 2.1.3.1

字符串2:ver 21.3.4

字符串3:v 10.2.1

如何在字符串1中获得数字2,在字符串2中获得21,在字符串3中使用单个函数获得10

3 个答案:

答案 0 :(得分:4)

试试这个

function getMajorVersion(versionStr){
    var tmp = versionStr.split(' ');
    var v = tmp[1].split('.');
    return v[0];
}

答案 1 :(得分:2)

正则表达并不总是坏

使用此:

function getMajorVersion(str){
    var matches = str.match(/\d+/); return matches && matches[0];
}

如果您担心表现,请使用我的答案而不是Allen Chak。

这是jsperf:http://jsperf.com/regex-vs-native-in-simple-case

答案 2 :(得分:0)

function getProductVersion(str) {
    return str.match(/\d+/g).map(function(v) { return parseInt(v, 10) });
}

现在您可以使用它来获取主要版本:

var version = getProductVersion('version 2.1.3.1');
var majorVersion = version[0];