在打字稿中应用正则表达式

Posted

技术标签:

【中文标题】在打字稿中应用正则表达式【英文标题】:applying regex in typescript 【发布时间】:2018-01-21 23:39:41 【问题描述】:

我在 angular2 工作 我有一个 URL 链接,例如:-www.abcd.com/Computers_Accessories/panache-air-pc/P-coac-20620024815-cat-z.html#newId=P-coac-41130779424?trackId=paym&subTrackId=&infitag=1234

我需要从上面的 URL 中删除 #newId=P-coac-41130779424 部分并将其附加到 URL 的末尾,以便新的所需 URL 看起来像:- www.abcd.com/Computers_Accessories/panache-air-pc/P-coac-20620024815-cat-z.html?trackId=paym&subTrackId=&infitag=1234#newId=P-coac-41130779424 是否有任何方法可以来获得这个结果,或者任何其他适当的方法来实现这个

【问题讨论】:

【参考方案1】:

你可以使用正则表达式

(.*)(#newId=.*)(?=\?)(.*)

并将其替换为 (1st group)(3rd group)(2nd group)

查看demo

let str = 'www.abcd.com/Computers_Accessories/panache-air-pc/P-coac-20620024815-cat-z.html#newId=P-coac-41130779424?trackId=paym&subTrackId=&infitag=1234';

str = str.replace(/(.*)(#newId=.*)(?=\?)(.*)/g, "$1$3$2");

console.log(str);

【讨论】:

如果我需要将其拆分为类似楼下的外观链接如何在打字稿中完成 (***.com/questions/49076594/…)

以上是关于在打字稿中应用正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

打字稿:如何在 2 行中编写长正则表达式 [重复]

打字稿和正则表达式

正则表达式测试作为属性的指令实现错误 - 验证(打字稿+角度)

打字稿中变量之间的区别

此正则表达式方言不支持条件

使用正则表达式的 SQLite 查询