Javascript Node.js获取字符串中出现的所有子字符串

Javascript Node.js获取字符串中出现的所有子字符串,javascript,node.js,string,replace,substring,Javascript,Node.js,String,Replace,Substring,我在Node.js运行时中有一个字符串,例如 var content=“我的内容包含一些URL,如https://this.me/36gD6d3 或https://this.me/39Jwjd"; 如何读取每个https://this.me/36gD6d3和https://this.me/39Jwjd是否将其替换为另一个URL 最好使用forEach循环或类似的方法。:-) 我需要的是向每个URL发出请求,以获得缩短URL后面的真实URL。这不是问题所在 每个URL之前和之后既不是空白也不是

我在Node.js运行时中有一个字符串,例如

var content=“我的内容包含一些URL,如https://this.me/36gD6d3 或https://this.me/39Jwjd";
如何读取每个
https://this.me/36gD6d3
https://this.me/39Jwjd
是否将其替换为另一个URL

最好使用
forEach
循环或类似的方法。:-)

我需要的是向每个URL发出请求,以获得缩短URL后面的真实URL。这不是问题所在


每个URL之前和之后既不是
空白
也不是
。 域<代码>https://this.me/是常量,但ID
39Jwjd
36gD6d3
正在更改


期待您的回答!:)

您可以使用正则表达式查找此URL的出现点

var content=“我的内容包含一些URL,如https://this.me/36gD6d3 或https://this.me/39Jwjd";

console.log(content.match(/https:\/\/this\.me\/[a-zA-Z0-9]+/g))
如果希望替换是异步的(我猜在查找完整URL时就是这样),可以执行以下操作:

(异步()=>{
const str=“我的内容包含一些URL,如https://this.me/36gD6d3 或https://this.me/39Jwjd",
res=等待替换ALLRS(str);
控制台日志(res);
})();
函数替换allurls(str){
const regex=/https?:\/\/this\.me\/[a-zA-Z0-9\-]+/g,
matches=str.match(regex)| |[];
返回Promise.all(matches.map(getFullUrl))。然后返回(value=>{
返回str.replace(regex,()=>values.shift());
});
}
函数getFullUrl(u){
//仅用于演示,请使用您自己的
返回新的承诺((r)=>setTimeout(()=>r(`{{u}}}}的完整URL),100));
//如果失败(您无法获取完整的URL),
//不要忘记捕捉错误并返回原始URL!
}