• ベストアンサー

秀丸の正規表現で文字列を切り取りしたい

秀丸で文字列の切り取りをおこないたいと思います。例えば、下記のような文字列があるとします。 あいうえお,abcde,かきくけこ fghij,さしすせそ,klmnopq やりたいことは、2つです。 1. 1つめのカンマまでの抜き出し。上記の場合、下記の文字列を抜き出し。 あいうえお fghij 2.1つ目のカンマから2つ目のカンマまでの文字列の抜き出し。上記の場合、下記の文字列を抜き出し。 abcde さしすせそ 上記の条件に検索でヒットさせる方法はわかるのですが、はたして文字列の切り取りなんてできるのか?という疑問があります。よろしくお願いします。

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

  • ベストアンサー
回答No.2

> あいうえお,abcde,かきくけこ > fghij,さしすせそ,klmnopq <snip> > あいうえお > fghij に関しては、 検索:^([^,]+),.+ 置換:\1 > abcde > さしすせそ は、 検索:^(([^,]+,){1})([^,]+),.+ 置換:\2 (ここで、2 つ目以降は、{1} や \2 の数値を増やす) の置換作業で出来ます。 ただ、これは最新版 Ver.8.03 であることが前提です。 古いと、上記の正規表現に未対応のことがあります。 更に、最新版なら、CSV モードを使って、カラム単位で選択、切り取りをした方が速いでしょう。 最後に、秀丸エディタでやる限り、最新版であっても、どちらの方法でも限界があり、上記のような CSV 形式であっても、セル内に ・改行 ・「"」で挟むことで入力可能な「, (カンマ)」 がある場合は、上手くできません。

mellow91
質問者

お礼

ご回答ありがとうございます!!正規表現勉強になります!あと、秀丸のV8を使っていますが、CSVモードがあるなんて知りませんでした。今試したところ、やりたいことができました!!CSVである列を切り取りたかったのですが、これでやると一発でした。本当にありがとうございます!!

その他の回答 (1)

  • sksu003nh
  • ベストアンサー率69% (89/128)
回答No.1

 たぶんマクロを使えば可能です。  使うコマンドは   beginsel   endsel   searchdown   cut   paste   カーソル移動系のコマンド  ぐらいだと思います。  本当はサンプルコードを載せればいいのですが、それほど難しいものでもないので秀丸のメニューの「マクロ」にある「マクロヘルプ」を読んで自分で書いてみましょう。

mellow91
質問者

お礼

ご回答ありがとうございます!!マクロは使ったことがないので勉強になります!後で試してみたいと思います!ありがとうございました!!

関連するQ&A

  • 秀丸での正規表現(文字の抜き出し)について

    複数行のテキストデータがあり、それぞれの先頭文字だけを抜き出したいと思っています。 あいうえお かきくけこ さしすせそ ↓ あ か さ 秀丸エディタでどのように記述すればいいのか教えてください。 よろしくお願いいたします。

  • (秀丸)正規表現で、特定文字列含む<~>範囲を選択

    お世話になります。 (秀丸の)正規表現について教えてください。 たとえば、テキストファイルに、1行、 ”<abc>文字列1です><abc>文字列2です><abc>文字列3です>(ここで改行)” という文字列が存在しています。 それを対象として、 (秀丸の)正規表現を利用し、 ”<abc>文字列2です>”だけをマッチさせたいのですが、 試しに、(秀丸の)正規表現で、 <abc.*文字列2.*?>  ←(なお、実際の記号は半角(.*?等)で、それぞれ入力しています・・・) で検索実行したところ、 ”<abc>文字列1です><abc>文字列2です>” として、 前の方に、マッチして欲しくない、 ”<abc>文字列1です>” までがマッチしてしまっている状況です。 そこでご質問なのですが、 上記におきまして、(秀丸の)正規表現を利用して、 ”<abc>文字列2です>”だけをマッチさせるには、 どのようにすれば、よろしかったでしょうか? (ちなみに秀丸は、2013年12月10日(火)現在の  最新バージョンVer8.32を利用しています) 以上になります。 宜しくお願いいたします。

  • PHP 正規表現による文字列の抜き出しについて

    PHP 正規表現による文字列の抜き出しについて 初歩的な質問で申し訳ありません。いくつかググったのですが、それでも自分の求める形を見つけられず質問させて頂きました。 「あいうえおかきくけこさいすせそ $abc12345678 $99999 たちつてと」 このような文字列の時に、 『$abcで始まって半角スペースで終わる所までの部分を抜き出す』には、 どのように記述すれば宜しいでしょうか。 (上記の文字列の場合は、「$abc12345678」を抜き出したいことになります。) よろしくお願いします。

    • ベストアンサー
    • PHP
  • 正規表現で複数行を検索したいです。 VB.NET

    VB.NETの正規表現で2つの文字列に囲まれた複数行の部分を取得したいです。 START ABCDE FGHIJ END 上記のようになっていた場合に ABCDE FGHIJ を取得したいです。 対象は START END のようになっていたり、 STARTEND のようになっていたりする場合にも対応できるようにしたいです。 色々試してみて .*?(\r\n)*? で良いように思ったのですがだめなようです。 もうしわけございませんが、ご教授いただければ幸いです。

  • エクセルでユニーク数を求めたいです。

    初めまして。エクセルのユニーク数の求め方について質問させていただきたいです。 ある表の集計をしているのですが、 (A列)文書  (B列)ID    あいうえお   abcde かきくけこ   fghij あいうえお   klmnop あいうえお   abcde さしすせそ   amnbk さしすせそ   lrigks あいうえお   abcde かきくけこ   fghij なにぬねの  nnbkhji こんな感じに並んでいます。 この(C列)ユニーク数を求めたいです。 上記の回答ですと あいうえお→abcdeとklmnopのIDがあるので = 2 かきくけこ→fghij = 1 さしすせそ→amnbkとlrigksのIDがあるので = 2 というようにしたいのですが、 最終的には同エクセル内の別ページで (A列)文書 (B列)ユニーク数 あいうえお     2 かきくけこ     1 さしすせそ     2 なにぬねの    1 このような表にまとめたいです。 説明が下手で申し訳ありませんが、こちらで求められる関数または方法が知りたいです。 最終的にはオートフィルでユニーク数を求められる終わり方にしたいです。 ちなみに「=1/COUNTIFS(A:A,A2,B:B,B2)」こちらの関数では求められませんでした。 また、上記のグラフでピボッドで集計すると延べ数が集計されてしまうので、ユニーク数を求めたいです。 どうか、よろしくお願い致します。

  • 文字列からの切り取り

    11111,AAAA,hogehoge,abcde 上記のような文字列から1個目のカンマから2個目のカンマまで(AAAA)を 抜き出したいのですがどういう方法がありますでしょうか? できればソース付きでご教授ください。 よろしくお願いします。

  • 正規表現で固定長に揃えたい

    正規表現で固定長に揃えたい 秀丸など正規表現のできるエディタを使用し リターンを含まない長い文字列を固定長にしたいです <例> あいうえおかきくけこさしすせそたちつてとなにぬねのはひふ ↓10文字ずつ改行 あいうえおかきくけこ さしすせそたちつてと なにぬねのはひふ よろしくお願いします

  • PHPの正規表現による文字列置換について

    下記のような文字列から「abcde」のみを変数に格納したいのですが、正規表現に苦戦しています。 http://example.com/detail.php?p=abcde.php 取得したい「abcde」のみが毎回変わり、その前後は固定です。 preg_replace()を使うのがいいのだろうなと思い、いろいろやってみているのですが、 なかなかマッチさせることができません。 どうかご教示頂けますでしょうか。

    • ベストアンサー
    • PHP
  • 正規表現で前方一致を実現したい

    お世話になります。 正規表現を用いて、ある特定の文字を前方一致で検索し、ヒットしたその文字以前のを置換する、ということを実現するにはどのような記述をすればよいのか分からず困っています。 たとえば、  あいうえお&かきくけこ&さしすせそ という文字列があったとき、最初の「&」以前だけを削り、結果、下記のような文字列を取得したい場合、どのような記述をすればよいでしょうか。  かきくけこ&さしすせそ これを秀丸エディタ上で実現したいです。 宜しくお願いします。

  • 秀丸、正規表現で、パターンにマッチした文字列を取り

    秀丸で、下記のような文字列を取り出したいです。 ■例 menu-hoge-01234"> ・半角スペースmenu-hoge-桁数不明の数字"> ・桁数不明の数字部分だけ変わります ■初め 半角スペースmenu-hoge- ■終わり ">の前まで 例で言ったら、 menu-hoge-01234 を取り出したいです

専門家に質問してみよう