|
場違いな質問かもしれませんが、 『バニラアイス50』というような 『』で囲まれた文字列をすべて、『』を含めて抽出して 『バニラアイス50』(改行) 『チョコアイス60』(改行) (以下同様) となった テキストファイルにしたいのですが、インデザインCS3で出来ますでしょうか? たぶん、正規表現、perlというものを使うかと思いますが。 インデザイン上でなくてもインデザインからテキスト保存して テキストエディタ等での処理でもかまいません。 フリーであれば有り難いですが、 一発抽出でテキストファイル保存できれば、有料の物でもかまいません。 大量にありますので、検索コピペは大変です。 よろしくお願いします。
|
No.2484 2009/02/27(Fri) 10:21:29
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
|
Re: 特定文字列の抽出 / せうぞー  |
|
|
|
InDesign上でJavaScriptでもできると思いますが、 テキスト上でやるならこんな感じだと思います。
#! /usr/bin/ruby -Ku while line = ARGF.gets line.scan(/『.*?』/) {|m| puts m } end
|
No.2485 2009/02/27(Fri) 11:08:32
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; ja-jp) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
|
|
Re: 特定文字列の抽出 / いき  |
|
|
|
こんにちは。 私ならテキスト書き出ししておいてRubyかな。
line.gsub!(/.*?(『.*?』)/) {"#{$1}\n"} line.sub!(/^([^『』]+$)/) {""}
一応これでできるけど、なんかスマートじゃないかも。 -------------------------------------------------- 以下追記 私、入力するの遅かったようですね。 せうぞーさんの方がスマートです(現実でもw)
|
No.2486 2009/02/27(Fri) 11:11:11
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
|
|
Re: 特定文字列の抽出 / ヒロ |
|
|
|
せうぞー様、いき様 早々にありがとうございます。
正規表現、perlと書いたものの全く無知でして
#! /usr/bin/ruby -Ku while line = ARGF.gets line.scan(/『.*?』/) {|m| puts m } end
や
line.gsub!(/.*?(『.*?』)/) {"#{$1}\n"} line.sub!(/^([^『』]+$)/) {""}
はどのように使用したら良いのでしょうか? よろしくお願いします。
|
No.2487 2009/02/27(Fri) 11:27:51
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
|
|
Re: 特定文字列の抽出 / せうぞー  |
|
|
|
rubyはインストールされていますか? ターミナル(winだとDos窓って言うんでしたっけ?)から $ruby スクリプトファイル 対象ファイル >書き出しファイル です。 日本語クリーンなshellなら、ワンライナーで $ ruby -ne 'puts $_.scan(/『.*?』/)' hoge.txt >fuga.txt なんてしてもかまいません。
>>いきさん。 >現実でもw 現実は、そうでもないんですよ^^
|
No.2488 2009/02/27(Fri) 11:36:57
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; ja-jp) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
|
|
Re: 特定文字列の抽出 / ヒロ |
|
|
No.2489 2009/02/27(Fri) 11:54:34
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
|
|
Re: 特定文字列の抽出 / いき  |
|
|
|
ヒロさん、そうです。 そのページにインストールガイドもありますので、後はそちらをご参照ください。
>>winだとDos窓 >コマンドプロンプトでしょうか? ええ、昔のWindowsではDos窓と言ってました^^
|
No.2490 2009/02/27(Fri) 12:05:36
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
|
|
Re: 特定文字列の抽出 / いき  |
|
|
|
少しだけ情報追加しときますね。 ※ここはRubyそのもののサポートをする場所ではありませんので、なるべくご自身でがんばってくださいね。
おすすめはひとつ前の安定版、Ver.1.8.7です。 あと、せうぞーさんのレスにあったスクリプトも、私のスクリプトもどきも、いずれもRubyです。Perlではありません。 私の「もどき」は省略して書いてあるので、全文を書いておきますね。
#!C:/Program Files/Activeruby-1.8/bin/ruby -Ku while line = ARGF.gets line.gsub!(/.*?(『.*?』)/) {"#{$1}\n"} line.sub!(/^([^『』]+$)/) {""} print line end
1行目は、Rubyをインストールしたパスでして、行末の -Ku は文字コードにunicodeを指定しています。
|
No.2492 2009/02/27(Fri) 12:18:53
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
|
|
Re: 特定文字列の抽出 / たけうちとおる |
|
|
|
すんごいべたなやりかたですが 一旦全部改行をとってしまって
InDesignのGREPで『』以外の部分 すなわち』から『までを改行に置き換えるというのはいかがでしょう?
検索文字列:』.*?『
置換文字列:』\r『
|
No.2493 2009/02/27(Fri) 13:21:24
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; ja-jp) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
|
|
Re: 特定文字列の抽出 / いき  |
|
|
|
たけうちとおるさん>> こちらでははじめまして。
えーと、そのやり方もいいんですが、 ・行中の『よりも前 ・行中の』よりも後 ・『』の出てこない行 を削除してやる必要がありますので1発というわけにはいきませんね。
|
No.2494 2009/02/27(Fri) 13:29:41
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
|
|
Re: 特定文字列の抽出 / せうぞー  |
|
|
|
(?s)』.*?『 単一行モードなら、僅かにストーリーの最初と最後を手作業が入るくらいです。 まあ、それ以上を考えるならスクリプトを組むですね。
|
No.2495 2009/02/27(Fri) 13:38:57
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; ja-jp) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
|
|
Re: 特定文字列の抽出 / いき  |
|
|
|
> (?s)』.*?『 すげ。 勉強になりましたm(_ _)m ※毎度のことですがw
|
No.2496 2009/02/27(Fri) 14:02:35
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
|
|
Re: 特定文字列の抽出 / ヒロ |
|
|
|
せうぞー様、いき様、たけうちとおる様 ありがとうございます。 まず、Rubyをインストールしてがんばってみたいと思います。 それから、 >InDesignのGREPで・・・ >(?s)』.*?『 も試してみたいと思います。 本当にありがとうございました。 また、お聞きすることがあると思いますがよろしくお願いします。
|
No.2497 2009/02/27(Fri) 14:20:54
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
|
|
Re: 特定文字列の抽出 / たけうちとおる |
|
|
|
いきさん はじめまして。いつもROMですいません。 >・『』の出てこない行 >を削除してやる必要がありますので1発というわけにはいきませんね。 最初に一旦全部改行をとってしまう部分があるので『』の出てこない行は消えてくれると思います。 でも2発ですね。
せうぞーさん > (?s)』.*?『 あー。それが書きたかったのですが、 (?s)使った事なくて検証できませんでした。。。
|
No.2498 2009/02/27(Fri) 14:46:17
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_11; ja-jp) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
|
|
Re: 特定文字列の抽出 / いき  |
|
|
|
> 最初に一旦全部改行をとってしまう部分がある 見落としてました。不注意ですみません(^^;
|
No.2499 2009/02/27(Fri) 14:56:55
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
|
|
Re: 特定文字列の抽出 / ヒロ |
|
|
|
> (?s)』.*?『 の最初の(?s)は、どういう意味ですか? よろしくお願いします。
|
No.2502 2009/02/28(Sat) 13:41:54
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
|
|
Re: 特定文字列の抽出 / せうぞー  |
|
|
No.2504 2009/02/28(Sat) 14:34:59
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; ja-jp) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
|
|