嗨,我是编程新手。我想从特定字符中提取字符串。
考虑以下字符串。
'<sometext id="2" name="username"/>hello'
我要检索“ hello”之后的“用户名”和文本
所以基本上我将这个字符串作为对象属性的值,所以类似
object = {
property_1: "<sometext id=\"2\" name=\"username\"/>hello",
}
所以我使用object.string_to_parse检索它并将其存储在变量string_to_parse
let string_to_parse = object.property_1;
现在,我想从string_to_parse获取字符串“用户名”并将其存储在单独的变量中,并从string_to_parse获得字符串“ hello”并将其存储在另一个变量中。
我该怎么做。有人可以帮我吗谢谢。
答案 0 :(得分:1)
这里使用的一种潜在解决方案是将字符串拆分并存储所需的零件。像这样:
let object = {
property_1: "<sometext id='2' name='username'/>hello",
};
let string_to_parse = object.property_1;
let prop1;
let prop2;
prop1 = string_to_parse.split("name='")[1].split("'/")[0];
prop2 = string_to_parse.split('/>')[1];
console.log(prop1);
console.log(prop2);
答案 1 :(得分:1)
正则表达式可以解决问题:
var str = '<sometext id="2" name="username"/>hello';
var re = /name="([^"]*)"/g
match = re.exec(str);
var uname = match[1];
var re = /\/>(.*)$/g
match = re.exec(str);
var msg = match[1];
uname和msg变量具有您要提取的内容
答案 2 :(得分:0)
取决于分隔符"/>"
中只有一个还是多个。
如果我们假设只有一个,则可以通过以下方式获得它:
object.property_1.split("/>")[1]
split
方法可帮助您返回2个元素,一个包含分隔符之前的字符串(此处为">"
),另一个包含分隔符之后的字符串。
使用此方法,您可以轻松获取用户名字符串,所以我让您自己做。