如何使用javascript从某些字符中提取字符串?

时间:2019-08-23 12:27:54

标签: javascript

嗨,我是编程新手。我想从特定字符中提取字符串。

考虑以下字符串。

'<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”并将其存储在另一个变量中。

我该怎么做。有人可以帮我吗谢谢。

3 个答案:

答案 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个元素,一个包含分隔符之前的字符串(此处为">"),另一个包含分隔符之后的字符串。

使用此方法,您可以轻松获取用户名字符串,所以我让您自己做。