F.Ko-Jiの「一秒後は未来」

半角空白と思ったら  (NBSP) になっていてマッチングしなかった

HTML を PHP の XMLパーサでパースして、タグを strip_tags で取り除いてできた文字列が

Top > カテゴリ1 > カテゴリ2

のようなものだとして、これを「 > 」で分割しようと Ruby で split に正規表現を書いてみたのだけど、なぜかマッチングしない。

str.split(/\s+>\s+/)

よくよく元のHTMLを調べてみると、半角スペースかと思っていたところが実は   だった。

Top > カテゴリ1 > カテゴリ2

これをXMLパーサでパースすると、どうやら   は NBSP という半角空白とは違う ASCII 文字として処理されるらしい。UTF-8だと ASCII コードは \xc2\xa0 となるみたい。なので、

str.split(/(\xc2\xa0)+>(\xc2\xa0)+/)

とすると期待通りに分割できた。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

著者について

fkoji

F.Ko-Ji

Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

» 詳しいプロフィールや運営サービスの一覧など