我需要从字符串中删除最后n个字符或从特定字符串中删除“page”。 例如:
var string = 'facebookpage';
Expected output string = 'facebook'
我想从字符串中删除“page”。
使用子字符串完成它。
var str = "facebookpage";
str = str.substring(0, str.length - 4);
你能帮我找一些更好的办法吗?
答案 0 :(得分:2)
正则表达式:
//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, "");
<强>更新强>
但是使用正则表达式完成这项任务,并不是好方法;例如,AVG Runtime进行100000次迭代:
Str length solution = 63.34 ms
Regex solution = 172.2 ms
答案 1 :(得分:1)
使用javascript替换功能
var str = "facebookpage";
str = str.replace('page','');
答案 2 :(得分:0)
您可以使用此正则表达式:
(.*)\\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.
希望这有帮助。