如何从文本中删除所有双空格

时间:2017-06-08 15:55:23

标签: javascript

我对我的作业有些不满。在一项任务中,我们必须更正文本。我们必须从文本中删除多个空格并将其转换为一个空格。如果在开始或结束时有空间,我们必须做同样的事情。我创建了这个函数:

function clean(word) {
  var output = "";
  for (var x = 0; x < word.length; x++)
  {
      if (word.charAt(x) !== " " || word.charAt(x + 1) !== " ") {
        output = output + word.charAt(x);
      }
  }

  return output;
}
console.log("test = " + clean(" test  word  testing   more"));

这适用于文本中的所有空格,但不适用于开头和结尾。如果我不直接使用字符数(x)也会更好,但如果我找不到另一种方式我就能做到...

2 个答案:

答案 0 :(得分:0)

您只需使用 String.prototype.replace

即可

componentWillReceiveProps()

这可以通过许多其他方式解决,例如使用正则表达式,但我已经决定演示最简单易懂的解决方案。

答案 1 :(得分:0)

稍微简单的替换:

var str = 'a  test string   with multiple      extra  spaces'
console.log(str.replace(/  +/g, ' '));

这是利用称为正则表达式(通常称为正则表达式)的东西 - 基本上是模式匹配。

此代码/ +/g表示[空格] [1个或多个空格],g标记表示“全部匹配”。 2斜杠是说“这是正则表达式”的简写方法。