我需要从字符串中删除最后n个字符或者从特定的字符串中删除'page'。例如:
var string = 'facebookpage';
Expected output string = 'facebook'
我想从字符串中去除'page'。
使用substring完成。
var str = "facebookpage";
str = str.substring(0, str.length - 4);
你能帮我找到更好的方法来做这件事吗?
我需要从字符串中删除最后n个字符或者从特定的字符串中删除'page'。例如:
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, "");
更新:
但是对于这个任务,使用正则表达式并不是一个好的方式;例如,对于100000次迭代的平均运行时间:
Str length solution = 63.34 ms
Regex solution = 172.2 ms
$
。 - Olson.dev 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
:var str = str.replace('page', '')
,否则可能没有更简单的方法。 - Andystr.replace(\w{4}$, "");
- Arunesh Singh