用相同数量的给定字符替换字符串末尾的一部分

时间:2016-07-30 10:53:40

标签: javascript

给定字符串abc11111232 是否有一种优雅的方法来替换最后3个“本例”字符,以便结果为abc11232

2 个答案:

答案 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));