• ベストアンサー

テキストエディタの正規表現による置換について

例えば、テキスト内に以下の文章があった場合(広がると伝播の間にタブがはいっています) 広がる     伝播, 蔓延, 流布, 拡散, 伝播する, 延展する, 蔓延する, 流布する, 広げる この「広がる     伝播」のみを残して、右のカンマで区切られた余計なもの(蔓延, 流布, 拡散, 伝播する, 延展する, 蔓延する, 流布する, 広げる)を一括で削除したいのです。 改行されて、同様の文章が続きますので、全行で一括置換したいのです。 可能でしょうか?

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

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

No.2の回答者です。 前回の回答は、ちょっと勘違いした部分がありました。 タブ区切りも入ったテキストの最初のカンマ以降を削除でしたね。 [置換前] ([^\t]+\t)([^,]*),{1}.* [置換後] $1$2 これで置換できませんか? ¥1になってしまうのは全角の¥のためですね。 半角の¥1や$1なら大丈夫なはずです。 [置換後]は半角で$1$2としてください。 サクラエディタの場合は半角の$が既定なのですが、私はWordを よく使っているので、癖で半角の¥にしていることが多いので。 どちらも認識するので、つい¥1と書いてしまいました。 訂正してお詫びします。

cheznoe
質問者

お礼

できました。貴重なお時間ありがとうございました。まさか出来るはずないと思って何年もどうしたものかと考えつつ、本日質問したのですが、本当にできるとはびっくりしました。本当に感謝します。実は膨大なデータだったので、手でやるには毎日やっても数ヶ月かかるようなものだったのですが、1秒でできました。

その他の回答 (2)

回答No.2

最初のカンマ以降を削除すればよいのですよね。 エディタによって正規表現が違う場合もあるのですが。 サクラエディタの場合 [正規表現]にチェックを入れてあるとしての置換。 [置換前] ^([^,]*),{1}.* [置換後] ¥1

cheznoe
質問者

お礼

ありがとうございました。 エディタをインストールして試してみましたが、一行全部消えて、「¥1」がそのまま残ってしまいます。 正規表現はチェック入れています。

回答No.1

可能ですが、テキストエディタが何なのか不明なので確実ではありません。 一行が 単語1[タブ]単語2,余計1,…,余計n のように構成されていて、 単語1 が行の先頭であるならば、以下のような感じです。 検索文字列:^([^\t]+\t[^,]+).* 置換文字列:$1(または\1)

cheznoe
質問者

お礼

ありがとうございました。試してみましたが全文消えてしまいます。エディタはVxeditorです。 一行が 単語1[タブ]単語2、余計1, 余計2,・・・[改行]です。カンマは半角で、カンマの後に半角スペースが入っています。 どのエディタならこれが可能なのかお手数でも教えていただけますか?

cheznoe
質問者

補足

補足:単語2の後もカンマです。お礼の欄では間違えました。一行が 単語1[タブ]単語2, 余計1, 余計2, ・・・[改行]です。カンマは半角で、カンマの後に半角スペースが入っています。

関連するQ&A