替换所有空格字符

问题描述 投票:107回答:9

我想在JavaScript中替换所有出现的空格字符(空格,制表符,换行符)。 怎么办?

我试过了:

str.replace(/ /gi, "X")
javascript trim
9个回答
267
投票

你想要\s

匹配单个空格字符,包括空格,制表符,换页符,换行符。

相当于

[ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]

Firefox[ \f\n\r\t\v]IE


str = str.replace(/\s/g, "X");

29
投票

\s是一个涵盖所有白色空间的元字符。你不需要使它不区分大小写 - 白色空间没有大小写。

str.replace(/\s/g, "X")

12
投票

如果我们想要用单个字符更改所有多个连接的空格,我们也可以使用它:

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

8
投票

你试过\s吗?

str.replace(/\s/g, "X");

4
投票

试试这个:

str.replace(/\s/gi, "X")

编辑(没有拼写错误的正确版本):

str.replace(/\s/g, "X")

1
投票

实际上它已经奏效了

试试吧。

将值/ \ s / g转换为字符串变量,如

String a = /\s/g;

str = str.replaceAll(a,"X");

1
投票

不是/ gi而是/ g

var fname = "My Family File.jpg"
fname = fname.replace(/ /g,"_");
console.log(fname);

"My_Family_File.jpg"

1
投票

如果你使用

str.replace(/\s/g, "");

它取代了所有的空格。例如:

var str = "hello my world";
str.replace(/\s/g, "") //the result will be "hellomyworld"

0
投票

我使用了underscore.string中的“slugify”方法,它就像一个魅力:

https://github.com/epeli/underscore.string#slugifystring--string

很酷的是你可以真正导入这个方法,不需要导入整个库。

© www.soinside.com 2019 - 2024. All rights reserved.