在javascript中的特定子字符串后面选择2个字符

时间:2015-02-02 11:28:53

标签: javascript

我们有一个字符串,

var str = "Name=XYZ;State=TX;Phone=9422323233";

在上面的字符串中,我们只需要获取状态值,即TX。这是子字符串 State =

之后的2个字符

任何人都可以帮我在javascript中实现它。

5 个答案:

答案 0 :(得分:1)

.split()将字符串转换为数组,然后找到具有State字符串的数组元素的索引。使用该索引获取该元素并再次.split()获取结果。试试这种方式,

var str = "Name=XYZ;State=TX;Phone=9422323233";

var strArr = str.split(';');

var index = 0;

for(var i = 0; i < strArr.length; i++){
    if(strArr[i].match("State")){
        index = i;
    }
}

console.log(strArr[index].split('=')[1]);

jsFiddle

答案 1 :(得分:0)

indexOf返回另一个字符串中字符串的位置。

使用此索引,您可以找到接下来的两个字符

类似

的javascript
 var n = str.indexOf("State=");

然后使用切片方法

喜欢

var res = str.slice(n,n+2);

另一种方法是:

使用split function

 var newstring=str.split("State=");

然后

var result=newstring.substr(0, 2);

答案 2 :(得分:0)

检查一下:

var str1 = "Name=XYZ;State=TX;Phone=9422323233";
var n = str1.search("State");
n=n+6;
var res = str1.substr(n, 2);

无论原始字符串中的res位于何处,结果都在变量State中。

答案 3 :(得分:0)

我想最简单的方法是切片和分割

var str = "Name=XYZ;State=TX;Phone=9422323233";
var findme = str.split(';')[1];
var last2 = findme.slice(-2);
alert(last2);

需要更多帮助?让我知道

答案 4 :(得分:0)

有很多方法可以让你得到你想要的东西:

var str = "Name=XYZ;State=TX;Phone=9422323233"

使用匹配

var match = str.match(/State=.{2}/);
var state = match? match[0].substring(6) : '';
console.log(state);

使用替换

var state = str.replace(/^.*State=/,'').substring(0,2);
console.log(state);

使用拆分

console.log(str.split('State=')[1].substring(0,2));

还有许多其他方法,包括构造具有名称/值对的对象:

var obj = {};
var b = str.split(';');
var c;

for (var i=b.length; i; ) {
  c = b[--i].split('=');
  obj[c[0]] = c[1];
}

console.log(obj.State);

选择。