给定字符串abc11111
和232
是否有一种优雅的方法来替换最后3个“本例”字符,以便结果为abc11232
?
答案 0 :(得分:2)
使用JavaScript String#slice
方法
var str1 = 'abc11111',
str2 = '232';
console.log(
str1.slice(0, -str2.length) + str2
);

或使用 String#substr
或 String#substring
方法。
var str1 = 'abc11111',
str2 = '232';
console.log(
str1.substring(0, str1.length - str2.length) + str2
);
// or
console.log(
str1.substr(0, str1.length - str2.length) + str2
);

答案 1 :(得分:0)
使用RegExp
构造函数(接受动态替换字符串长度)和String.replace
函数的解决方案:
var str1 = 'abc11111', str2 = '232',
re = new RegExp(".{"+ str2.length +"}$");
console.log(str1.replace(re, str2));