How to remove duplicate white spaces in a string?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Removing whitespace from string in JavaScript
号
我使用了修饰功能来去除句子开头和结尾的空白。如果一个句子中的单词之间有太多的空格,有什么方法可以修剪吗?
例如
1 | "abc def. fds sdff." |
尝试
1 2 | "abc def. fds sdff." .replace(/\s+/g,' ') |
。
或
1 2 3 | "abc def. fds sdff." .split(/\s+/) .join(' '); |
或者使用这个
1 2 3 4 5 6 7 8 | String.prototype.allTrim = String.prototype.allTrim || function(){ return this.replace(/\s+/g,' ') .replace(/^\s+|\s+$/,''); }; //usage: alert(' too much whitespace here right? '.allTrim()); //=>"too much whitespace here right?" |
。
1 2 | var str = 'asdads adasd adsd'; str = str.replace(/\s+/g, ' '); |
号
我想你要找的是javascript的string.replace()方法。
如果要删除所有空白,请使用以下命令:
1 2 | "abc def. fds sdff.".replace(/\s/g, ''); Returns:"abcdef.fdssdff." |
如果只希望删除两个空格,请使用:
1 2 | "abc def. fds sdff.".replace(/\s\s/g, ' '); Returns:"abc def. fds sdff." |
。
如果要保留一段时间后的空间,请使用:
1 2 | "abc def. fds sdff.".replace(/[^.]\s/g, '') Returns:"abcdef. fdssdff." |
您可以使用此javascript将多个连续空格缩减为仅一个空格:
1 2 | var str ="abc def. fds sdff."; str = str.replace(/\s+/g,""); |
如果你的意思不是多个连续空格,那么请在你的问题中澄清你的意思。
1 | value.replace(" ",""); |
。
这应该可以做到,它只是将两个空格替换为一个,直到只有一个空格。
请参阅下面的代码部分,该部分在javascript中使用rejex来删除重复的空白。
1 2 3 4 5 6 7 8 9 | function trim(value) { var temp = value; var obj = /^(\s*)([\W\w]*)(\b\s*$)/; if (obj.test(temp)) { temp = temp.replace(obj, '$2'); } var obj = / +/g; temp = temp.replace(obj,""); if (temp =="") { temp =""; } return temp; } |