如何 trim 在 javascript 末尾不需要的连续字符串?

How to trim an unwanted continuous string at end in javascript?

我正在尝试 trim 一个末尾带有不必要字符的字符串,如下所示。 如果有人纠正我或提供一个简单的方法,我将不胜感激!!

预期结果:finalString, Hello ---- TecAdmin

const longStr = "Hello ---- TecAdmin------------";

function trimString(str) {
  const lastChar = str[str.length - 1];
  if(lastChar === '-') {
   str = str.slice(0, -1);
   trimString(str);
  } else {
   console.log(str,'finally')
   return str;
  }
}

const finalString = trimString(longStr);

console.log('finalString', finalString)

试试这个 - 只替换 5 个或更多 -

longStr.replace(/-{5,}/g, '')

使用 split 将字符串拆分为数组,然后多次使用 pop 删除末尾的字符。您可以每次测试最后一个字符,如果它是“-”,则使用 pop

//js
const longStr = "Hello ---- TecAdmin------------";
let splitLongStr = longStr.split('');

for (let i=0; i<splitLongStr.length; i++) {
  splitLongStr.pop();
}

let longStrChopped = splitLongStr.join('');

处理 Deryck 的评论和答案,但允许在末尾使用任意数量的破折号:

const longStr = "Hello ---- TecAdmin------------";
var thing = longStr.replace(/-*$/g, '');
console.log(thing);