javascript - 正则表达式无法删除字符串/其他内容

标签 javascript

如何从 href 中删除该字符串并更新它?

示例网址:

"localhost:21088/WcfDataService1.svc/Clients?$top=20&$select=Name,Products/Name,ID,People/FirstName,Products/Price,People/LastName&$expand=People"

我正在尝试:

var stringToRemove = "Products" + "/";
var url = $("#qUrl").attr("href");
url = url.replace('/(' + stringToRemove + '\/\w+,)/g', '');
$("#qUrl").attr("href", url);

我想要什么:

"localhost:21088/WcfDataService1.svc/Clients?$top=20&$select=Name,ID,People/FirstName,People/LastName&$expand=People"

更新

请不要硬编码

最佳答案

如果您要删除所有Products/...,,则正则表达式为/Products\/.*?,/g

请注意,RegExp 是按原样编写的 - 没有用引号引起来。

var str = 'localhost:21088/WcfDataService1.svc/Clients?$top=20&$select=Name,Products/Name,ID,People/FirstName,Products/Price,People/LastName&$expand=People';

console.log(str.replace(/Products\/\w+,?/g, ''));

/**
 * Replace with variable string
 */

var key = 'Products'; // Come from external source, not hardcoded.
var pattern = new RegExp(key+'/\\w+,?', 'g'); // Without start and end delimiters!
console.log(str.replace(pattern, ''));

关于javascript - 正则表达式无法删除字符串/其他内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37988212/

相关文章:

javascript - Node js 中 Json 长度始终未定义

javascript - getElementByClass 无法返回数据时的错误处理

javascript - 设置数据表中渲染选择的初始选择选项

javascript - 垂直滚动条适用于 chrome 但不显示

javascript - 如何在angularjs的ngDialog框中加载动态选项卡?

javascript - 将距离字符串转换为数字

javascript - 自定义 Twitter oAuth 登录页面

javascript - 使用 JavaScript 可以使哪些 HTML 元素可点击?

javascript - 如何将 HTML 页面中包含的变量传递给 PHP,然后用 JS 显示 - Chart.js

javascript - 无法调整水平滚动 div 中的表列的大小