- ベストアンサー
秀丸の正規表現で文字列を切り取りしたい
秀丸で文字列の切り取りをおこないたいと思います。例えば、下記のような文字列があるとします。 あいうえお,abcde,かきくけこ fghij,さしすせそ,klmnopq やりたいことは、2つです。 1. 1つめのカンマまでの抜き出し。上記の場合、下記の文字列を抜き出し。 あいうえお fghij 2.1つ目のカンマから2つ目のカンマまでの文字列の抜き出し。上記の場合、下記の文字列を抜き出し。 abcde さしすせそ 上記の条件に検索でヒットさせる方法はわかるのですが、はたして文字列の切り取りなんてできるのか?という疑問があります。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> あいうえお,abcde,かきくけこ > fghij,さしすせそ,klmnopq <snip> > あいうえお > fghij に関しては、 検索:^([^,]+),.+ 置換:\1 > abcde > さしすせそ は、 検索:^(([^,]+,){1})([^,]+),.+ 置換:\2 (ここで、2 つ目以降は、{1} や \2 の数値を増やす) の置換作業で出来ます。 ただ、これは最新版 Ver.8.03 であることが前提です。 古いと、上記の正規表現に未対応のことがあります。 更に、最新版なら、CSV モードを使って、カラム単位で選択、切り取りをした方が速いでしょう。 最後に、秀丸エディタでやる限り、最新版であっても、どちらの方法でも限界があり、上記のような CSV 形式であっても、セル内に ・改行 ・「"」で挟むことで入力可能な「, (カンマ)」 がある場合は、上手くできません。
その他の回答 (1)
- sksu003nh
- ベストアンサー率69% (89/128)
たぶんマクロを使えば可能です。 使うコマンドは beginsel endsel searchdown cut paste カーソル移動系のコマンド ぐらいだと思います。 本当はサンプルコードを載せればいいのですが、それほど難しいものでもないので秀丸のメニューの「マクロ」にある「マクロヘルプ」を読んで自分で書いてみましょう。
お礼
ご回答ありがとうございます!!マクロは使ったことがないので勉強になります!後で試してみたいと思います!ありがとうございました!!
お礼
ご回答ありがとうございます!!正規表現勉強になります!あと、秀丸のV8を使っていますが、CSVモードがあるなんて知りませんでした。今試したところ、やりたいことができました!!CSVである列を切り取りたかったのですが、これでやると一発でした。本当にありがとうございます!!