regex JavaScript用动态文本替换正则表达式

0h4hbjxa  于 12个月前  发布在  Java
关注(0)|答案(2)|浏览(90)

我需要提取文本,但有些部分是动态的,变化
这是我的var

htts://query1.data.site.com/v7/finance/download/MYTEXT?period1=1664641287&period2=1696177287&interval=1d&events=history&includeAdjustedClose=true

我只需要MYTEXT
这些价值观的变化

MYTEXT
1664641287
1696177287
1d

我尝试了string.replace,但我不知道如何删除动态部分
我想到的解决方案是删除MYTEXT之前和之后的所有文本,但我不能编写一个命令来完成此操作

1hdlvixo

1hdlvixo1#

使用URL解析URL字符串。
您可以获取pathname来提取MYTEXT,这将是由/分隔的最后一段。
您可以获取searchParams来检索特定查询参数的值,如period1=1664641287

const urlString = 'htts://query1.data.site.com/v7/finance/download/MYTEXT?period1=1664641287&period2=1696177287&interval=1d&events=history&includeAdjustedClose=true';

const url = new URL(urlString);

// You can get the last segment of the path like this 
console.log(url.pathname.split('/').slice(-1)[0]);

// You can also get query params like this if you need them
console.log(url.searchParams.get('period1'));
wdebmtf2

wdebmtf22#

使用匹配最后一个/?之间所有内容的正则表达式

const url = 'htts://query1.data.site.com/v7/finance/download/MYTEXT?period1=1664641287&period2=1696177287&interval=1d&events=history&includeAdjustedClose=true';
const regexp = /[^\/]+(?=\?)/;
match = url.match(regexp);
console.log(match);

相关问题