大家好,有办法分割这样的字符串:
pymongo3.2
为了获得“真实”和“第1组”?
我试过这个:
var tMatch='key1="true" key2="Group 1"';
但是key2的输出是错误的,是:
var key1;
var key2;
tMatch.split(' ').forEach(function(x){
var arr = x.split('=');
if (arr[1]){
if (arr[0]=='key1'){
key1=arr[1];
}else if (arr[0]=='key2'){
key2=arr[1];
}
}
});
alert('key1:'+key1);
alert('key2:'+key2);
而不是
"Group
因为空间。 你能建议一个解决方案吗? 先感谢您。 请注意,key1和key2也可能包含多个空格,如: key1 =“今天是美好的一天”key2 =“明天没有”
答案 0 :(得分:2)
假设你在字符串中没有引号,你可以使用regexp来做到这一点。
var tMatch = 'key1="false" key2="Group 1"';
var key1;
var key2;
var re = /(\w+)="([^"]*)"/g;
while (match = re.exec(tMatch)) {
if (match[1] == 'key1') {
key1 = match[2];
} else if (match[1] == 'key2') {
key2 = match[2];
}
}
alert('key1:' + key1);
alert('key2:' + key2);
答案 1 :(得分:1)
使用以下代码:
var tMatch='key1="false" key2="Group 1"';
var key1;
var key2;
tMatch.split('" ').forEach(function(x){
var arr = x.split('=');
if (arr[1]){
if (arr[0]=='key1'){
key1=arr[1]+'"';
}else if (arr[0]=='key2'){
key2=arr[1];
}
}
});
alert('key1:'+key1);
alert('key2:'+key2);
}
答案 2 :(得分:0)
你可以做到
tMatch.replace(/key\d=/g, '').split('"').forEach(function(item){
if (item.length){
console.log(item);
}
});