[あすかぜ・ねっと]あすかぜ・ねっと自作ソフトCassava > サポート掲示板

Cassava Editor サポート掲示板

スレッド一覧に戻る返信

[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」)
を試してみてください。

よろしくお願いします。

スレッド一覧に戻る返信