gpt4 book ai didi

javascript正则表达式字符串模板提取变量

转载 作者:行者123 更新时间:2023-11-30 17:30:45 27 4
gpt4 key购买 nike

我正在做一种反向模板化的事情,我有一个字符串,我知道用于生成它的模板,我想获取变量值。

例如:网址:http://c.tile.osm.org/24/7881145/7385476.png

模板:http://{s}.tile.osm.org/{z}/{x}/{y}.png

我想从图 block 的 URL 获取缩放级别 ({z}),在本例中为 24。不会始终使用这个确切的模板 url(它根据 basemap 的不同而有所不同) used 等),但我会一直寻找 {z} 值。

最佳答案

看起来 blint 可能先于我,但本质上您想要做的是从您的模板生成一个正则表达式并执行它:

function zFromTemplate(str, template) {      
var sr = template.replace("?", "\\?")
.replace(/\{[^z]\}/g, ".*?")
.replace(/\{z\}/g, "(.+)");

var rex = new RegExp(sr),
parts = rex.exec(str);

if(parts) {
return parts[1];
}
return null;
}

这是一个 codepen demonstrating it's use .如果没有别的,它比最初接受的答案更简洁。

关于javascript正则表达式字符串模板提取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23111062/

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