-1
给定字符串abc11111
和232
。
是否有一个优雅的方式来取代最后3个“在这种情况下”的字符,使结果将是abc11232
?用相同数量的给定字符替换部分字符串末尾
给定字符串abc11111
和232
。
是否有一个优雅的方式来取代最后3个“在这种情况下”的字符,使结果将是abc11232
?用相同数量的给定字符替换部分字符串末尾
使用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
);
使用RegExp
构造函数(接受动态替换字符串长度)和String.replace
功能的解决方案:
var str1 = 'abc11111', str2 = '232',
re = new RegExp(".{"+ str2.length +"}$");
console.log(str1.replace(re, str2));
你尝试过什么? – nicael