我在从网址中删除baseUrl时遇到问题。
我必须用字符串
var baseUrl = 'https://www.stackoverflow.com';
var Url = 'https://www.stackoverflow.com/test/number/';
Url.replace(baseUrl, "");
现在我希望结果为/test/number/
,但它不会删除字符串的第一部分。
守则就是一个例子。我并不总是确定baseUrl是否是一个子字符串,因此我无法缩短长度。
任何想法?
答案 0 :(得分:2)
您需要通过返回String#replace
方法的值来更新字符串,因为该方法不会更新字符串。
var baseUrl = 'https://www.stackoverflow.com';
var Url = 'https://www.stackoverflow.com/test/number/';
Url = Url.replace(baseUrl, "");
console.log(Url);

使用String#substring
和String#indexOf
方法。
var baseUrl = 'https://www.stackoverflow.com';
var Url = 'https://www.stackoverflow.com/test/number/';
var i = Url.indexOf(baseUrl);
Url = Url.substring(0,i) + Url.substring(i + baseUrl.length);
console.log(Url);

答案 1 :(得分:0)
我在Stackoverflow中找到的另一个解决方案。 How to replace all occurrences of a string in JavaScript?
function replaceAll(str, find, replace) {
return str.replace(new RegExp(find, 'g'), replace);
}