繁体   English   中英

正则表达式用Javascript替换$ nth元素

[英]Regex Replace $nth element with Javascript

是否可以将$n元素替换为特定的字符串? 在我的示例中, $1元素。

例如,我想用我的字符串"other.other"替换URL "http://my.domain.com/sub/file.extension"的最后一个元素。

我的正则表达式是这样的:/([ /([^/]+)\\.extension$

但是它也替换了“文件”之前的斜杠。

这是一个完整的示例:

var url = "http://my.domain.com/sub/file.extension";
var replace = "other.other";
var regex = new RegExp("/([^/]+)$");
console.log(url.replace(regex,replace));

我知道我可以像这样在替换中添加斜杠: var replace = "/other.other"; 但是我想要一种不同的方法,也可以在其他项目中使用。

简而言之,我正在寻找一种可能的方法,以替换没有分隔符的字符。

PS:我读到一些有关积极前瞻的信息,但我无法使其正常工作。 我知道这则帖子这篇帖子 ,但这不是我想要的。

您的代码中进行了少量更改。请尝试以下代码并检查

var url = "http://my.domain.com/sub/file.extension";
var replace = "other.other";
var regex = new RegExp("([^/]+)$");
console.log(url.replace(regex,replace));
var url = "http://my.domain.com/sub/file.extension";
url = url.split("/");
url.pop();
url.push("other.other");
url = url.join("/");
console.log(url);

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM