人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

秀丸のマクロかRubyで文字列を簡単にできる処理を教えてください。あるタグで囲まれた中身だけ抽出して、改行したいと思っています。例えば、
<xyz>xyz</zyz>というタグがあるテキストの中に数十個あるとします。それを抽出して

<xyz>xyz</zyz>
<xyz>xyz</zyz>
<xyz>xyz</zyz>

などと改行をいれて、その部分だけ取り出したいと思っています。正規表現か何かで取得できると思うのですが、いまいちわかりません。よければ参考になる正規表現のページも合わせて教えてください。

●質問者: silverspring
●カテゴリ:コンピュータ インターネット
✍キーワード:Ruby XYZ いまいち タグ テキスト
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● jan8
●0ポイント

置換機能を使って

<.*>\f.*\f</.*>

\1

に置換すれば良いと思います。

この方法ではネストされたタグには対応しません。

秀丸のマクロがありました

http://www18.big.or.jp/~fujiwara/ikki/hidemaru/macro/deletet...


2 ● tmasao
●50ポイント ベストアンサー

Ruby の例:

Tagname = "xyz"

text = open("test.txt"){|f| f.read }

tags = text.scan(/(<#{Tagname}>.*?</#{Tagname}>/m)

puts tags

以下を参考にあげておきます:

◎質問者からの返答

完璧です。ありがとうございます。


3 ● jan8
●50ポイント

すいません、タグを削除すると勘違いしました。

単にgrep検索機能を使って

<.*>.*</.*>

を表示させれば、良いのではないでしょうか?

http://q.hatena.ne.jp/

◎質問者からの返答

完璧です。ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ