[602] 特定の文字列を指定した範囲で抽出したいです
takeru [2021/01/13 17:49:16]
いつもお世話になっております。
説明が難しいのですが、例えば
あいうえお
特徴:~~
[BR]
かきくけこ
とある場合、「特徴:~~」内のみを抽出したいです。
「特徴」以前を削除&[BR]以降を削除みたい事は可能でしょうか?
宜しくお願いいたします。
Re: [602] 特定の文字列を指定した範囲で抽出したいです
あすかぜ [2021/01/13 18:46:24]
最新版の Cassava Editor であれば、正規表現検索で実現できそうです。
下記の手順を試してみてください。
1. [検索]-[検索・置換] メニューをクリックし、検索・置換ダイアログを開く
2. 「正規表現検索」にチェックする
3. 「検索する文字列」に「.*(特徴:.*)\[BR\].*」と入力する
4. 「置換後の文字列」に「$1」と入力する
5. 「すべて置換」ボタンをクリックする
正規表現検索では、検索する文字列中の「.*」が任意の文字列を表します。
また、「[」や「]」には特別な意味があるので、「[BR]」を検索するには「\」を加えて「\[BR\]」と記述する必要があります。
置換後の文字列の「$1」は、検索する文字列中の () で囲んだ部分にマッチした文字列となります。
マクロを使用する場合は「\」を 2 つ重ねて、
ReplaceAll(".*(特徴:.*)\\[BR\\].*", "$1", false, false, true);
のようになります。
よろしくお願いします。
Re: [602] 特定の文字列を指定した範囲で抽出したいです
takeru [2021/01/30 12:54:08]
ご返信ありがとうございます。
変更で申し訳ないのですが、
セル内にて、
特徴:あいうえお<BR>かきくけこ<BR>さしすせそ<BR>
とあったとして、
「特徴:~」1つ目の<BR>までの範囲抽出は可能でしょうか?
また、応用として、2つ目の<BR>までの範囲抽出も可能ですか?
宜しくお願いいたします。
Re: [602] 特定の文字列を指定した範囲で抽出したいです
あすかぜ [2021/01/30 16:38:53]
1つ目の<BR>までの範囲抽出は「.*(特徴:.*?)<BR>.*」
2つ目の<BR>までの範囲抽出は「.*(特徴:.*?<BR>.*?)<BR>.*」
(「置換後の文字列」はどちらも「$1」)
を試してみてください。
よろしくお願いします。