網站搜尋

javascript - 替換所有空白字元


我想在 JavaScript 中替換所有的空白字符(空格、製表符、換行符)。
該怎麼做?

我試過:

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

答案#1

你想要 \s

匹配單一的空白字元,包括空格、製表符、換頁符、換行符。

相當於

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

在 Firefox 中以及在 IE 中的 [ \f\n\r\t\v]。

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

答案#2

如果我們想將所有多個連續的空格更改為單個字符,我們也可以使用這個:

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

在這裡查看其運作方式:https://regex101.com/r/d9d53G/1

解釋

/ \s+/g

  • \s+ 匹配任何空白字元(等同於 [\r\n\t\f\v ])
  • + 量詞 — 匹配一次到無限次,儘可能多次匹配,必要時回退(貪婪模式)
  • 全域模式旗標

    • g 修飾符:global。所有匹配(不要在第一次匹配後返回)

答案#3

\s 是一個涵蓋所有空白字元的元字元。你不需要將它設為不區分大小寫 — 空白字元沒有大小寫。

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