<Ruby>正規表現で都道府県を一致させる スクレイピング ログ 不要な空白削除strip
都道府県を一致させる
今回は都道府県の前に空白があるのでこうした。
addr = "東京都" addr.match(/\S{2,3}[都道府県]/).to_s #=>東京都
/Sは、空白を除く
{2,3}は2~3文字
参考:【Ruby】住所から都道府県を正規表現で取り出す【正規表現】 - Qiita
ログ
ログファイルを用意しておくとどこで間違えたか分かりやすい。
実際には、スクレイピングで膨大なかずの情報を取得するときどこでミスっているかわかるよう
クローリングしているURLをログファイルに書き込むようにした。
File.open(file_name,'w') {|file| file.puts something }
プログラムの途中でfile_nameに代入されているファイルを開き、
file.puts で something という変数の中身を書き込んでる
不要な空白を削除する-strip
正規表現で空白を除く一致がいまいちわからないので、取り出したものの不要な空白を削除することにしたstr = " Hello World. " # とにかく全部の空白がいらない場合 str.gsub(" ", "") # => "HelloWorld." # 単語の間にある空白は削除したくない場合 str.strip # => "Hello World." # 左側にある空白のみ削除したい場合 str.lstrip # => "Hello World. " # 右側にある空白のみ削除したい場合 str.rstrip # => " Hello World." # 破壊的メソッド str.strip! str # => "Hello World."