Javascript – 如何删除单词之间的所有额外间距
如何删除字符串文字中单词之间的所有额外空格?
"some value"
应该成为
"some value"
也,
" This should become something else too . "
变
"This should become something else too ."
不要担心搬家.
。 就像上面一样好。 我知道我可以使用$.trim(str)
来实现尾随/结束空间的移除。 但是,我不确定如何在单词技巧之间做1个空格。
var string = " This should become something else too . "; string = string.replace(/\s+/g, " ");
此代码用一个空格替换一组连续的空白字符( \s+
)。 请注意,空格字符还包括制表符和换行符。 如果您只想替换空格,请用空格替换\s
。
如果您还想在开头和结尾删除空格,请包括:
string = string.replace(/^\s+|\s+$/g, "");
此行将删除开头( ^
)和结尾( $
)处的所有空格字符。 RegExp末尾的g
表示:全局,即匹配并替换所有出现的。
var str = " This should become something else too . "; str = str.replace(/ +(?= )/g,'');
这是一个工作小提琴 。
var str = " This should become something else too . " $.trim(str).replace(/\s(?=\s)/g,'')
这使用前瞻用单个空格替换多个空格。
jsFiddle示例
" This should become something else too . ".replace(/[\s\t]+/g,' ');
另一个(也许更容易理解)regexp替换将完成这个诀窍:
var input = /* whatever */; input = input.replace(/ +/g, ' ');
正则表达式匹配一个或多个空格,因此.replace()
调用用单个空格替换每个单独或重复的空格。
var str = 'some value'; str.replace(/\s\s+/g, ' ');