- blogs:
- cles::blog
2010/02/27

英語でない部分のスペースを削除する

下記のようなわざとスペースがところどころに挿入されている日本語を形態素解析したいと思って、前処理として余計なスペースを取り除く処理を書こうとしたのですが、思いのほか手こずってしまったので、後学のためにメモ。
str = <<EOS
ち ょ っ と ワ ケ あ っ て MS の ナ レ ッ ジ ベ ー ス を 検 索 し て い た ら 最 後 に 「The behavior is by design」と 書 い て あ るのを見つけてしまいました。
EOS
† はじめに書いたコード
単純にスペースを削除するようなコードなのですが、英語の部分があると単語が全部つながってしまうのでこれはNG。
puts str.gsub(/ +/,'')
#=>ちょっとワケあってMSのナレッジベースを検索していたら最後に「Thebehaviorisbydesign」と書いてあるのを見つけてしまいました。
† 最終的に書いたコード
最終的に書いたコードは下記。
文字クラスの指定が16進になっていますが、これが半角の英数字記号を表しています*1。
puts str.gsub(/([^\x21-\x7E]) +([^\x21-\x7E])/,'\1\2')
#=>ちょっとワケあって MS のナレッジベースを検索していたら最後に「The behavior is by design」と書いてあるのを見つけてしまいました。
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/3444
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . アーロンチェアのポスチャーフィットを修理(112162)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110796)
3 . 年次の人間ドックへ(110386)
4 . 2023 年分の確定申告完了!(1つめ)(109936)
5 . 三菱鉛筆がラミーを買収(109834)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110796)
3 . 年次の人間ドックへ(110386)
4 . 2023 年分の確定申告完了!(1つめ)(109936)
5 . 三菱鉛筆がラミーを買収(109834)
cles::blogについて
Referrers