JavaScript の正規表現で全角スペースを扱う時は Unicode にするといい

JavaScript の正規表現で全角スペースを扱う時は ESLint のエラーを回避するために Unicode にするといいというお話です。

例えば、以下のように正規表現で全角スペースを削除するとします。

let text = 'ニュー ジーランド';
text = text.replace(/ /g, '');
// ニュージーランド

これでも問題ありませんが、ESLintを走らせると「Irregular whitespace not allowed 」というエラーが出てしまいます。

したがって、この全角スペースを Unicode の「\u3000」とすればエラーも出なくなりますし、置換も問題なく動きます(ファイルがUTF-8エンコーディングであるのが前提)。

let text = 'ニュー ジーランド';
text = text.replace(/\u3000/g, '');
// ニュージーランド

ちなみに、ここでは正規表現にフォーカスして話しましたが、それ以外の場所でも同様のエラーが出る可能性はありますので、その場合も同じように対処しましょう。

Published 2023-10-18
Updated 2023-10-18

「JavaScript」カテゴリの記事一覧