如何在成角度的字符串的两个单词之间删除多个空格?

时间:2018-12-03 08:37:52

标签: javascript html css angular

this.folderObj.folderName是字符串,我打印了该字符串console的{​​{1}},我使用了aaa aaa,但是它仅在空格之前和之后删除,如何删除多个空格字符串的两个单词之间的空格,并希望像这样trim()

输出
aaa aaa

我想要的预期控制台

  folderObj : Folder = new Folder();

  console.log(this.folderObj.folderName.trim());  // aaa         aaa

4 个答案:

答案 0 :(得分:10)

使用正则表达式匹配两个或多个空格字符,并替换为单个空格:

const folderName = '    aaa         aaa';
console.log(
  folderName
    .replace(/ {2,}/g, ' ')
    .trim()
);

当然,您也可以将一个或多个空格字符替换为+,代码看起来会更好,但是效率会稍微降低:

const folderName = '    aaa         aaa';
console.log(
  folderName
    .replace(/ +/g, ' ')
    .trim()
);

答案 1 :(得分:4)

尝试使用replace()将所有单个和多个空格替换为单个空格。

this.folderObj.folderName.trim().replace(/ +/g, ' ');

演示:

console.log('aaa         aaa'.replace(/ +/, ' '))

答案 2 :(得分:1)

let folderName = '      abcd       xya   ';
console.log(folderName.replace(/\s+/g, ' ').trim());

答案 3 :(得分:0)

const folderName = "    aaa         aaa";

let resultStr = folderName
  .trim()
  .split(' ')
  .filter(item => item.length > 0)
  .join(' ');

console.log(resultStr);