替换所有空格字符

我想在 JavaScript 中替换所有出现的空白字符(空格、制表符、换行符)。
怎样做?

我试过:

str.replace(/ /gi, "X")
231635 次浏览

你想要 \s

匹配一个空白 字符,包括空格、制表符、表单 喂,喂。

相当于

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

火狐[ \f\n\r\t\v]IE


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

\s是一个涵盖所有空白的元字符。你不需要让它不区分大小写ーー留白没有大小写。

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

试试这个:

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

你试过 \s吗?

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

实际上它已经工作了,但是

试试这个。

将值/s/g 放入字符串变量,如

String a = /\s/g;


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

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

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

在这里可以看到它的实际运作: https://regex101.com/r/d9d53G/1

解释

/\s+/g

  • \s+匹配任何空白字符(等于 [\r\n\t\f\v ])
  • 一次和无限次之间的匹配,尽可能多的匹配,根据需要进行回馈(贪婪)

  • 全球模式标志
    • G 修饰符: g global. 所有匹配(第一次匹配后不返回)

不是“基”而是“基”

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

给予

"My_Family_File.jpg"

我使用了 underscore.string 中的“ slugify”方法,它非常有效:

Https://github.com/epeli/underscore.string#slugifystring——string

最酷的是你可以直接导入这个方法,不需要导入整个库。

如果你用

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

它替换所有的空格,例如:

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

您可以使用函数 trim

let str = ' Hello World ';

alert (str.trim());

Hello World 周围的所有前后空间都将被删除。