#解決したいこと
都道府県、市区町村の正規表現を学習中です。詳細は以下の通りです。
(※コードだけみたら間違いがわかるかもしれません・・・)
①Rubyで簡単なミニアプリを実行しています。
②都道府県名と市区町村を正規表現で取得するコードを書いてます
③都道府県と市区町村までを入力させることを条件としています
参考サイト(Qiitaより)
なるべく短い正規表現で住所を「都道府県/市区町村/それ以降」に分けるエクストリームスポーツ
#詳細コード
ruby
1 2def enter_address 3 puts "住所を入力してください" 4 address = gets.chomp 5 prefecture_address = address.scan(/.*[都道府県]/) 6 puts "都道府県名は#{prefecture_address}" 7 puts "---------------------------------------" 8 municipality_address = address.scan(/.+?郡.+?[町村]|.+?市.+?区|.+?[市区町村].+/) 9 puts "市区町村名は#{municipality_address}" 10end 11enter_address
上記のコードを実行すると
下記のように市区町村名だけ[]だけが出力されています。
ruby
1住所を入力してください 2東京都渋谷区 3都道府県名は["東京都"] 4--------------------------------------- 5市区町村名は[]
市町村名(今回の場合渋谷区)を正しく出力できていません。
#わからないこと
コードを実行すると、市町村名だけ出力がうまくいきません。
正規表現自体が間違っている?
Rubyの構造がおかしい?
もろもろ疑いましたが、詰まりました・・・・。
おそらく単純なミスかとは思うのですが、どなたかわかる方いましたらご教授いただけますと幸いです。
最後までみていただきありがとうございます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/19 14:32 編集
2020/01/19 22:10
2020/01/22 10:36 編集
2020/01/22 10:49
2020/01/23 07:10