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 个字符。
您可以使用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没有对应的=,在这种情况下,返回的对象toObject将undefined分配给属性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); // trueRun Code Online (Sandbox Code Playgroud)