【问题标题】:Replace string from last without changing string length从最后一个替换字符串而不更改字符串长度
【发布时间】:2019-12-02 15:22:04
【问题描述】:

假设我想根据一些递增的 no 和指定的字符串生成一个字符串。

const originalStr = 'activator'
const str1= '100';
const str2= '4659';
const str3 = '12345';
const str4 = '123456789'

现在想从 last 替换 originalStr 而不改变它的大小

//for str1 my expected output is 'activa100'
//for str2 my expected output is 'activ4569'
//for str3 my expected output is 'acti12345'
//for str4 my expected output is '123456789'

我如何使用 JS 做到这一点?

我尝试了以下方法: 他们有比这更好的方法吗?如何确保结果大小始终为 9


const originalStr = 'activator'

const str1= '100';
const str2= '4659';
const str3 = '12345';
const str4 = '123456789'
const str5 = 'sizeWillChanged'

console.log(str1.padStart(9,originalStr)); //'activa100'
console.log(str2.padStart(9,originalStr)); //'activ4659'
console.log(str3.padStart(9,originalStr)); //'acti12345'
console.log(str4.padStart(9,originalStr)); //'123456789'
console.log(str5.padStart(9,originalStr)); //'sizeWillChanged'

【问题讨论】:

  • 请添加您尝试过的代码
  • .padStart ...

标签: javascript


【解决方案1】:

您可以使用slice() 从末尾的originalStr 中删除n 字符。这样新的字符就可以前缀originalStr而不影响originalStr原来的长度。

const originalStr = 'activator'
const str1= '100';
const str2= '4659';
const str3 = '12345';
const str4 = '123456789'

function replacing(str, token) {
  return (str.slice(0, -token.length) + token);
}

console.log(replacing(originalStr, str1));
console.log(replacing(originalStr, str2));
console.log(replacing(originalStr, str3));
console.log(replacing(originalStr, str4));

【讨论】:

    【解决方案2】:

    const originalStr = 'activator'
    const str1= '100';
    const str2= '4659';
    const str3 = '12345';
    const str4 = '123456789'
    
    function replaceFromEnd(string1, string2){
        return string1.substr(0, string1.length - string2.length) + string2;
    }
    
    console.log(replaceFromEnd(originalStr, str1));
    console.log(replaceFromEnd(originalStr, str2));
    console.log(replaceFromEnd(originalStr, str3));
    console.log(replaceFromEnd(originalStr, str4));

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-28
      • 1970-01-01
      相关资源
      最近更新 更多