我们有一个字符串,
var str = "Name=XYZ;State=TX;Phone=9422323233";
在上面的字符串中,我们只需要获取状态值,即TX。这是子字符串 State =
之后的2个字符任何人都可以帮我在javascript中实现它。
答案 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]);
答案 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);
选择。