如何在JavaScript中分离复杂字符串中的子字符串?

如何在JavaScript中分离复杂字符串中的子字符串?,javascript,regex,string,Javascript,Regex,String,例如: str = "A=sample_text1; B=sample_text2; C=sample_text3;"; 如何获取“A=”之后的文本,即“sample_text1”?(sample_text1的长度可能很长,因此str.substring在这里不起作用)对于创建和测试正则表达式非常有用 const match=“A=sample\u text1;B=sample\u text2;C=sample\u text3;”; 让值=匹配!==无效的匹配[1]:未定义

例如:

str = "A=sample_text1; B=sample_text2; C=sample_text3;";
如何获取“A=”之后的文本,即“sample_text1”?(sample_text1的长度可能很长,因此str.substring在这里不起作用)

对于创建和测试正则表达式非常有用

const match=“A=sample\u text1;B=sample\u text2;C=sample\u text3;”;
让值=匹配!==无效的匹配[1]:未定义;

将允许您获取
A
的值在本例中

您可以使用正则表达式捕获由A
=
和A
包围的每个组

const str=“A=sample_text1;B=sample_text2;C=sample_text3;”;
常量regexp=“=(*?)”;
常量值=[…str.matchAll(regexp)];
const aValue=值[0][1];

控制台日志(aValue)看起来您的字符串有一个结构,其中有多个字段,每个字段表示为:

[KEY]=[VALUE];
您可以使用常见的字符串和数组方法,如
split
map
来提取所需内容。在这种情况下,您似乎需要第一个字段的值:

const str='A=sample_text1;B=样本_text2;C=样本_text3;';
const result=str.split(“;”).map(s=>s.split(“=”).pop().trim()).shift();
console.log(结果);//=>'示例_text1'

这可能有些过分,但要轻松访问所有键/值,您可以使用:

let str=“A=sample_text1;B=sample_text2;C=sample_text3;”;
让值=Object.fromEntries(
str
//把所有的一对分开
.split(“;”)
//删除最后一个空元素
.slice(0,-1)
//映射到[key,value]数组以传递给Object.fromEntries
.map(i=>i.split(“=”).map(j=>j.trim());
//使用键获取值
console.log(值[“A”])//示例\u text1
//检查是否有钥匙
console.log(“C”在值中)//true
console.log(“D”在值中)//false