5
6

More than 3 years have passed since last update.

謎のスペースを殲滅する

Posted at

事の始まり

コピペした内容をテキストボックスに貼り付けて、
送信ボタン押下したら、処理が通らねぇ。

何が起こった

見えない文字がある。
コピペ元のHTMLソースを見ると​なるものが。

​

調べると、ずらずらと記事が出てきます。
ゼロ幅スペース
なるものだそうです。

対応について

こんなものがたくさんあったら、対応仕切れないよぅ・・。

と思って調べていたら、
まとめてくださっていた方がいらっしゃいました!
\sが完全には空白文字を網羅できていなかった件

神かっ

要点をかいつまむと、
\sで対応していないホワイトスペース文字がたくさんあるよ!

というわけで、二番煎じ感すごいですが、コードにします。

コードにする

正規表現のところだけ抜粋
export const unmanagedSpaces =
  '\\u001c-\\u001f\\u11a3-\\u11a7\\u180e\\u200b-\\u200f\\u2060\\u3164\\u034f\\u202a-\\u202e\\u2061-\\u2063';

export const allSpaceRegexp = RegExp(`[\\s${unmanagedSpaces}]+`, 'g');

export default { unmanagedSpaces, allSpaceRegexp };

あとは煮るなり、焼くなり、replaceするなり。

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6