Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从文本中删除所有双空格_Javascript - Fatal编程技术网

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

Javascript 如何从文本中删除所有双空格,javascript,Javascript,我在努力做作业。在一项任务中,我们必须纠正一篇课文。我们必须从文本中删除多个空格,并将其转换为一个空格。如果在开头或结尾有空间,我们也必须这样做。我创建了这个函数: function clean(word) { var output = ""; for (var x = 0; x < word.length; x++) { if (word.charAt(x) !== " " || word.charAt(x + 1) !== " ") { outp

我在努力做作业。在一项任务中,我们必须纠正一篇课文。我们必须从文本中删除多个空格,并将其转换为一个空格。如果在开头或结尾有空间,我们也必须这样做。我创建了这个函数:

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"));
功能清理(word){
var输出=”;
for(var x=0;x

这适用于文本中的所有空格,但不适用于开头和结尾。另外,如果我不直接使用字符的编号(x)会更好,但如果我没有找到其他方法,我可以这样做…

您可以简单地使用

功能清理(str){
//删除双空格
而(str.indexOf(“”>-1){
str=str.replace(“,”);
}
//删除开头和结尾的空格(称为“修剪”)
返回str.trim();
}

log(clean(“这是带双空格的文本!”)稍微简单一点的替换:

var str='带有多个额外空格的测试字符串'

console.log(str.replace(+/+/g',)
您可以始终使用正则表达式,
/\s+/g
将匹配一行中的任何一个或多个空格字符(这也将捕获制表符之类的内容),还可以删除任何尾随空格(字符串的开头和结尾)我也会使用正则表达式,但真正的问题是您正在更改数组的大小,而没有相应地更改x。通常,当您执行更改数组大小的操作时,请从末尾开始向后操作。@Bindrid您指的是哪个数组?单词?不,没关系,我没有仔细看代码enough@ChloeCodes正则表达式是大多数现代脚本语言不可或缺的一部分。它们可能不是你教学大纲的一部分,但我敦促你努力学习它们。在我的职业生涯中,有无数次他们是问题的最快解决方案(在开发和执行时间方面)。好的,谢谢:-)我研究了它,我们也在calss中讨论了它。所以他们的建议也很好:-)谢谢