2016-06-23 4 views
1

Как удалить эту строку из href и обновить ее?Regex не работает для удаления строки/независимо

Пример Адрес:

"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" 

Обновление

Пожалуйста, не трудно код

+1

@KalpeshRajai Что? '" str ".replace (pattern/string, replacement)' ... – Justinas

+0

@KalpeshRajai Я думаю, что вы смущены, попробуйте jsfiddle, чтобы доказать свою точку. – Mathematics

ответ

1

Если вы хотите, чтобы удалить все Products/..., чем RegEx является /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, ''));

+0

спасибо, вещь, я получаю «Продукты» как строку из другого места, могу ли я использовать ее и добавить «/» к ней с помощью выше? – Mathematics

+0

Он отлично работает +1, но у меня возникают проблемы, например. когда у меня есть этот продукт/Price & $ expand = People, он также удаляет & $ expand = ... часть также :( – Mathematics

+0

@Mathematics Проверьте сейчас. – Justinas

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

Изменить вызов заменить, используйте регулярное выражение без кавычек

+2

В строке есть также «Продукты/Цена», которые вы не заменяете , – Justinas