如何删除字符串文字中单词之间的所有多余空格?
"some value"
应该成为
还有
" This should become something else too . "
变成
"This should become something else too ."
不要担心移动.。就像上面一样好。我知道我可以使用$.trim(str)来实现结尾/结尾空格的删除。但是,我不知道如何做1之间的空间字的把戏。
.
$.trim(str)
xhv8bpkk1#
var string = " This should become something else too . "; string = string.replace(/\s+/g, " ");
这段代码将一组连续的空白字符(\s+)替换为一个空白。请注意,空白字符还包括制表符和换行符。如果只想替换空格,请将\s替换为空格。如果您还想删除开头和结尾的空格,请包括:
\s+
\s
string = string.replace(/^\s+|\s+$/g, "");
这一行删除了开头(^)和结尾($)处的所有空白字符。RegExp末尾的g表示:全局的,即匹配和替换所有的事件。
^
$
g
q7solyqu2#
var str = " This should become something else too . "; str = str.replace(/ +(?= )/g,'');
这里是a working fiddle。
q35jwt9p3#
如果我们想避免使用regex的replace函数,我们可以通过以下方法达到同样的效果
str.split(' ').filter(s => s).join(' ') // var str = " This should become something else too . "; // result is "This should become something else too ."
首先,用空格分割原始字符串,然后我们将在数组中有空字符串和单词。其次,过滤只保留单词,然后用空格连接所有单词。
kyvafyod4#
var str = " This should become something else too . " $.trim(str).replace(/\s(?=\s)/g,'')
这将使用前瞻将多个空格替换为单个空格。
kyks70gy5#
jsFiddle Example
" This should become something else too . ".replace(/[\s\t]+/g,' ');
r1zk6ea16#
另一个(也许更容易理解)regexp替代品可以做到这一点:
var input = /* whatever */; input = input.replace(/ +/g, ' ');
regexp匹配一个或多个空格,因此.replace()调用将每个单个或重复的空格替换为单个空格。
.replace()
r7s23pms7#
var str = 'some value'; str.replace(/\s\s+/g, ' ');
ohfgkhjo8#
对于我的例子,我必须合并其他答案,并为多行字符串添加/m modifier,结果是:
string.replace(/^[ \s\t]*| +(?= )/gm, '')
let string = ` I want all the extra spaces removed. ^ `; console.log(string.replace(/^[ \s\t]*| +(?= )/gm, ''))
8条答案
按热度按时间xhv8bpkk1#
这段代码将一组连续的空白字符(
\s+
)替换为一个空白。请注意,空白字符还包括制表符和换行符。如果只想替换空格,请将\s
替换为空格。如果您还想删除开头和结尾的空格,请包括:
这一行删除了开头(
^
)和结尾($
)处的所有空白字符。RegExp末尾的g
表示:全局的,即匹配和替换所有的事件。q7solyqu2#
这里是a working fiddle。
q35jwt9p3#
如果我们想避免使用regex的replace函数,
我们可以通过以下方法达到同样的效果
首先,用空格分割原始字符串,然后我们将在数组中有空字符串和单词。其次,过滤只保留单词,然后用空格连接所有单词。
kyvafyod4#
这将使用前瞻将多个空格替换为单个空格。
kyks70gy5#
jsFiddle Example
r1zk6ea16#
另一个(也许更容易理解)regexp替代品可以做到这一点:
regexp匹配一个或多个空格,因此
.replace()
调用将每个单个或重复的空格替换为单个空格。r7s23pms7#
ohfgkhjo8#
对于我的例子,我必须合并其他答案,并为多行字符串添加/m modifier,结果是: