gpt4 book ai didi

javascript - 如何将 indexOf 与字符串模式的多个实例一起使用?

转载 作者:行者123 更新时间:2023-11-30 19:20:32 26 4
gpt4 key购买 nike

如何使用 String.prototype.indexOf() 在给定字符串中查找一个或多个匹配的字符串模式?

例如:

  • 我有一个字符串要测试:/accounts/{account}/project/{project}

  • 我想测试 {...} 的一个或多个字符串模式是否存在,其中 ... 可以包含任何内容。在此示例中,它们是:accountproject

  • 我想 String.prototype.indexOf() 检索一个对象,该对象具有匹配模式的每个实例的开始和结束索引集合。在这个例子中,我想要:[{ start: 10, end: 18},{start: 28, end: 36}]

我已经能够在只有一个匹配项时创建一个对象,但我不确定如何获得多个匹配项。

最佳答案

使用 replace()方法

var stringUnderTest = "/accounts/{account}/project/{project}";

var result = [];
stringUnderTest.replace(/\{([^\}]*)\}/gi, function(match, p1, index) {
result.push({
start: index,
end: index + p1.length + 1
})
});

console.log(result);

关于javascript - 如何将 indexOf 与字符串模式的多个实例一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57526625/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com