Javascript 如何从字符串中获取两个变量?
我有一个字符串:Javascript 如何从字符串中获取两个变量?,javascript,Javascript,我有一个字符串:'foo=bar;这=是;不=必要“ 我想得到这个结果:{“name”:“foo”,“value”:“bar”} 没有必要,后面是什么 我知道,我应该使用一些regexp,但我真的不明白regexp是如何工作的 感谢是预付款,您可以使用: var values='foo = bar; this = is; not = necessary'.split('; ')[0].split(' = '); var obj={"name" : values[0], "value" : val
'foo=bar;这=是;不=必要“
我想得到这个结果:{“name”:“foo”,“value”:“bar”}
没有必要,后面是什么
我知道,我应该使用一些regexp,但我真的不明白regexp是如何工作的
感谢是预付款,您可以使用:
var values='foo = bar; this = is; not = necessary'.split('; ')[0].split(' = ');
var obj={"name" : values[0], "value" : values[1]}
这样做:
'foo=bar;这=是;not=nequired.split(“;”)
,返回['foo=bar'、'this=is'、'not=nequired']
'foo=bar;这=是;不需要。拆分(“;”)[0]
给出'foo=bar'
'foo=bar;这=是;不需要。拆分(“;”)[0]。拆分(“=”)
,它提供了['foo','bar']
var values='foo = bar; this = is; not = necessary'.split('; ')[0].split(' = ');
var obj={"name" : values[0], "value" : values[1]}
这样做:
'foo=bar;这=是;not=nequired.split(“;”)
,返回['foo=bar'、'this=is'、'not=nequired']
'foo=bar;这=是;不需要。拆分(“;”)[0]
给出'foo=bar'
'foo=bar;这=是;不需要。拆分(“;”)[0]。拆分(“=”)
,它提供了['foo','bar']
一种使用正则表达式在特定字符串中搜索指定名称的方法,该名称将匹配字符串的
foo=bar
部分:
function getNameValuePair(string, needle) {
if (!string || !needle) {
return false;
}
else {
var newNeedle = needle + '\\s+\\=\\s+\\w+',
expr = new RegExp(newNeedle),
parsed = string.match(expr).join(),
parts = parsed.split(/\s+\=\s+/),
returnObj = {'name' : parts[0], 'value' : parts[1]};
return returnObj;
}
}
var string = 'foo = bar; this = is; not = necessary',
nameValueObj = getNameValuePair(string, 'foo');
console.log(nameValueObj);
当然,这可以调整为更适合您的需求
然而,事实上:
false
指针(“foo”),后跟一个或多个空格单位,后跟单个=
字符,后跟一个或多个空格字符。如果空格可能并不总是存在,则最好改为(+
匹配“一个或多个”,而*
匹配“零个或多个”)
parsed
变量中变量,有效地按照零或多个空格后跟一个=
后跟零或多个空格的模式进行拆分,将分离的部分存储在parts
数组变量中
parts
变量构造对象foo=bar
部分匹配:
function getNameValuePair(string, needle) {
if (!string || !needle) {
return false;
}
else {
var newNeedle = needle + '\\s+\\=\\s+\\w+',
expr = new RegExp(newNeedle),
parsed = string.match(expr).join(),
parts = parsed.split(/\s+\=\s+/),
returnObj = {'name' : parts[0], 'value' : parts[1]};
return returnObj;
}
}
var string = 'foo = bar; this = is; not = necessary',
nameValueObj = getNameValuePair(string, 'foo');
console.log(nameValueObj);
当然,这可以调整为更适合您的需求
然而,事实上:
false
指针(“foo”),后跟一个或多个空格单位,后跟单个=
字符,后跟一个或多个空格字符。如果空格可能并不总是存在,则最好改为(+
匹配“一个或多个”,而*
匹配“零个或多个”)
parsed
变量中变量,有效地按照零或多个空格后跟一个=
后跟零或多个空格的模式进行拆分,将分离的部分存储在parts
数组变量中
parts
变量构造对象foo=bar&this=is¬=nequired
),会更方便。然后用相应的函数对其进行解析。名称/值对是否总是首先出现?是否总是有一个一致的名称?字符串来自哪里?如果改为URL查询字符串格式(例如foo=bar&this=is¬=nequired
),会更方便。然后用相应的函数解析它。