如何解析字符串并获取接下来的 6 个字符?

Joh*_*ong -1 javascript parsing filter match

我有这样的字符串:

   let str = "Hello=322484^nicetomeetyou=245454^howdoIdothis=11111a^EP";
Run Code Online (Sandbox Code Playgroud)

我如何解析这个字符串以获得例如“245454”?我认为它必须基于 'nicetomeetyou=' '=' 之后的值始终为 6 个字符。

tri*_*cot 6

您可以使用split提取部分(名称和值),并将Object.fromEntries这些对转换为对象。然后您可以通过该对象的属性访问每个值:

const toObject = (str) =>
    Object.fromEntries(str.split("^").map(eq => eq.split("=")));

// Demo
let str = "Hello=322484^nicetomeetyou=245454^howdoIdothis=11111a^EP";
let obj = toObject(str);
console.log(obj.Hello);
Run Code Online (Sandbox Code Playgroud)

请注意,在示例字符串中,EP没有对应的=,在这种情况下,返回的对象toObjectundefined分配给属性EP。要测试该EP属性是否确实存在,您可以使用in运算符:

const toObject = (str) =>
    Object.fromEntries(str.split("^").map(eq => eq.split("=")));

// Demo
let str = "Hello=322484^nicetomeetyou=245454^howdoIdothis=11111a^EP";
let obj = toObject(str);
console.log("EP" in obj);  // true
Run Code Online (Sandbox Code Playgroud)