我有要求從字符串中刪除最後n個字符或從特定字符串中刪除'page'。 如:刪除最後n個字符的正則表達式
var string = 'facebookpage';
Expected output string = 'facebook'
我想從字符串中刪除「頁」。
使用子字符串完成它。
var str = "facebookpage";
str = str.substring(0, str.length - 4);
你能幫我找到一些更好的方法來做到這一點。
我有要求從字符串中刪除最後n個字符或從特定字符串中刪除'page'。 如:刪除最後n個字符的正則表達式
var string = 'facebookpage';
Expected output string = 'facebook'
我想從字符串中刪除「頁」。
使用子字符串完成它。
var str = "facebookpage";
str = str.substring(0, str.length - 4);
你能幫我找到一些更好的方法來做到這一點。
正則表達式是:
//str - string;
//n - count of symbols, for return
function(str, n){
var re = new RegExp(".{" + n + "}","i");
return str.match(re);
};
編輯:
對於刪除最後n個字符:
var re = new RegExp(".{" + n + "}$","i");
return str.replace(re, "");
UPDATE:
但使用正則表達式完成這個任務,不好辦法;例如,AVG運行100000次迭代:
Str length solution = 63.34 ms
Regex solution = 172.2 ms
你在字符串的末尾缺少'$'。 –
@ Olson.dev Nope。第一個變體 - 從0返回到n位置;但是,謝謝,你給了我這個想法,如何去除最後n個符號; – user3335966
你的原始答案沒有回答OP,你的編輯。傳遞國旗「我」是多餘的。 –
使用JavaScript替換功能
var str = "facebookpage";
str = str.replace('page','');
您可以使用正則表達式:
(.*)\\w{4}
代碼:
var regex =(new RegExp("(.*)\\w{4}"))
val output = regex .exec("facebookpage")
// output is : ["facebookpage", "facebook"]
// output[1] is the Expected output which you want.
希望這有助於。
如果你特別要刪除 「網頁」,你可以使用'replace':'無功海峽= str.replace(頁面', '')',否則有可能不是一個更簡單的方法。 – Andy
這是更好的方法。儘管通過正則表達式'str.replace(\ w {4} $,「」); ' –
我認爲子串比正則表達式更好。 –