• ベストアンサー

正規表現

こんなことってできますか? どなたかご教授お願いします。 秀丸エディタを使用しています。 「東京都千代田区神田1-1-1」 上記のような住所が300件くらいあるのですが、 「東京都千代田区神田 1-1-1」のように数字の部分 と本体の部分をタブで切り離したいと思っています。 正規表現を使うとできるかな?と思って色々調べて みたのですが、うまくできませんでした。 これができないと、手動での作業になってしまいます。 どなたか助けてくださ~い。。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yuyu-chan
  • ベストアンサー率11% (4/34)
回答No.2

(1)最初の行の先頭にカーソルを移動します。 (2)[Shift]+[F1]で、キー操作の記録をします。 (3)[Shift]+[F]で、『[^0-9][0-9]』を正規表現で下検索します。 (4)[→]、[ (半角スペース)]で、数字の手前にスペースを入力します。 (5)[↓]、[Home]で、次の行の先頭にカーソルを移動します (6)[Shift]+[F1]で、キー操作の記録を終了します。 (7)[Shift]+[F2]で、最終行まで、記録したキー操作を実行していきます。 こんな感じで、できませんか?

umioo
質問者

お礼

ありがとうございます! すごいアイディアですね。 使わせてもらいました~!!

その他の回答 (2)

回答No.3

#1です。 すみません。置換の間違いです。 あと、自己参照の$1が$になっていました。 正しくは s/([0-9]+(\-[0-9]+)*)/ $1g/; ちなみに、これだと1行に1つの者しか置換できません。 また、ただの数値列にもマッチしますので、郵便番号などが含まれているとそれも置換してしまいます。

umioo
質問者

お礼

ありがとうございます。 正規表現もっともっと勉強したいと思います。 参考になりました!!

回答No.1

数字で始まる任意長の数字列(1文字以上): 1) [0-9]+ と、ハイフン+任意長の数字列 2) \-[0-9]+ で、2は任意回数繰り返すので: [0-9]+(\-[0-9]+)* になります。 これをスペース+自分自身(自己参照)に痴漢するので: s/[0-9]+(\-[0-9]+)*/ $g/; でいいのではないでしょうか?

関連するQ&A