给定一个这样的字符串:

"The dog      has a long   tail, and it     is RED!"

什么样的jQuery或JavaScript魔法可以用来保持空间只有一个最大空间?

目标:

"The dog has a long tail, and it is RED!"

当前回答

如果你不想使用replace(替换字符串中的空格而不使用replace javascript),这里有一个替代解决方案。

var str=“狗有一条长尾巴,而且是红色的!”; var = / \ s规则{1,}/ g; STR = STR .split(规则)。加入(" "); document . write (str);

其他回答

let nameCorrection = function (str) {
  let strPerfect = str.replace(/\s+/g, " ").trim();
  let strSmall = strPerfect.toLowerCase();
  let arrSmall = strSmall.split(" ");
  let arrCapital = [];
  for (let x of arrSmall.values()) {
    arrCapital.push(x[0].toUpperCase() + x.slice(1));
  }

  let result = arrCapital.join(" ");
  console.log(result);
};
nameCorrection("Pradeep kumar dHital");

还有一种可能:

str.replace( /\s+/g, ' ' )

这个脚本删除了单词和修饰之间的任何空白(多个空格,制表符,返回值等):

// Trims & replaces any wihtespacing to single space between words
String.prototype.clearExtraSpace = function(){
  var _trimLeft  = /^\s+/,
      _trimRight = /\s+$/,
      _multiple  = /\s+/g;

  return this.replace(_trimLeft, '').replace(_trimRight, '').replace(_multiple, ' ');
};

使用nodepad++函数,下面的regex对我来说很好,

发现:{1}\ \ s + K 替换:留空

我知道我迟到了,但我发现了一个很好的解决方案。

下面就是:

var myStr = myStr.replace(/[ ][ ]*/g, ' ');