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

「」で囲まれたセリフや、地の文の続く、いわゆる小説のような文章が書かれたテキストデータから、セリフの部分だけを残して地の文を削除したい、という場合、どういった方法がいいか教えてください。

●質問者: rinta666
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:セリフ テキスト データ 地の文 小説
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● どんジレ、どんさん
●30ポイント

こんにちは。


試しにやってみました。

「出かしたぞ」

「善し!」

「既に、我と彼との別、是と非との分を知らぬ。眼は耳のごとく、耳は鼻のごとく、鼻は口のごとく思われる。」

「ああ、夫子(ふうし)が、――古今無双(ここんむそう)の射の名人たる夫子が、弓を忘れ果てられたとや? ああ、弓という名も、その使い途(みち)も!」

http://www.aozora.gr.jp/cards/000119/files/621_14498.html

青空文庫の上記データを整形しました。


「」に囲まれた文章が4件しかなかったので、簡単な正規表現+手作業で調整しました。

Windows環境で、テキストエディタは秀丸を利用しています。

? 」 を 」\n に置き換えする。 ※」の終わりが必ず改行されていることになります。

? 「 を検索する ※ 検索することで「 がマーカーされます

? マーカーされた「を頼りに、目視で地の文を削除。


番外編

情報量が多く、「」内の文章の順番が並び替えられてしまってもいい場合は、マクロなどを使い、?の後でソートをかけると、簡単に「」つきの文章と、地の文を区別することができます。今回は、セリフの順番も重視されると考え、上記方法を提案させていただきました。


参考になれば幸いです。

◎質問者からの返答

カギカッコの頭だけをマークして区別しやすくして、手作業で削除していくやり方でしょうか。

たしかに、セリフそのものが少ない場合には、そちらの方が機械的作業のトラブルもなさそうで良いのかもしれませんね。

ただ、逆に量が多すぎる場合には、別の方法が必要かもしれませんね。

回答していただきありがとうございます。


2 ● hayate_007
●40ポイント ベストアンサー

正規表現での置換が可能なテキストエディタで


「」に囲まれた部分以外をて空白(削除)とすればセリフだけが残ります.


下記のはテキストエディタではないですか置換前の確認が可能で誤りにくいので

普段正規表現を使わないようであれば使いやすいです


http://www.vector.co.jp/magazine/softnews/030308/n0303083.html


この例で言えば


検索条件を 」.*?「 として置換を条件を 空白(削除するので)

「」はセリフ以外で使われていないという条件なので例外があればあらかじめ検索で要確認.


あとは手動で文頭と文末のセリフ以外の部分を削除すれば1ファイル数分で終わります.

他にもっとスマートな条件があるかもしれませんがファイル数が少ないのであれば考える

より行動したほうが時間はかかりませんので自分はこうしています.

◎質問者からの返答

正規表現ですか。これは便利ですね。

上記方法では、同じ行内にあるカギカッコ間の地の文にしか効果がなかったのですが、一旦改行を置換ですべて消して、それから上記正規表現を実行して、再びカギカッコ綴じの後ろに置換で改行を置くと、ほぼ完璧にセリフ部分だけ残すことができました。

回答どうもありがとうございました。

関連質問


●質問をもっと探す●



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