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

Cassava Editor サポート掲示板

スレッド一覧に戻る返信

[572] ReplaceAllで長文の置換

こや [2020/08/09 19:01:49]

いつもお世話になっております。

特定の2か所の列に対して、
セル内の頭から●●という単語までを対象に、
指定の長文に置換したいのですがどうすればよいかご教授いただけないでしょうか。

普通のReplaceAllでは文字数制限にひっかかってしまいます。

お手数をおかけしますが、よろしくお願いします。

Re: [572] ReplaceAllで長文の置換

あすかぜ [2020/08/10 19:29:41]

マクロで長文の文字列を使うには、255 文字以内で文字列を区切って「+」で連結してください。

ReplaceAll("abc..." + "def..." + "ghi...", "rst..." + "uvw..." + "xyz...");

これで回避できるでしょうか。
よろしくお願いします。

Re: [572] ReplaceAllで長文の置換

こや [2020/08/11 17:42:09]

ご返信ありがとうございます。
思い通りに置換できました。
なんだか基本中の基本を聞いてしまっているのでは?と、申し訳なく…

恐縮なのですが、もうひとつ質問させて下さい。

正規表現で、"[.*]"(大カッコで囲んだ単語)を置換したい場合はどのように表現すればよいでしょうか。
\[.*\]で表記してみてもできなくて、色々試したのですが…立て続けにお手数おかけしますが、教えてください。

Re: [572] ReplaceAllで長文の置換

あすかぜ [2020/08/11 19:26:08]

「\」記号はマクロ言語の "" 内のエスケープと、正規表現のエスケープの両方で使われます。
正規表現の「\[.*\]」をマクロ内で記述するには、"\\[.*\\]" のように「\」を 2 つ重ねてください。

ReplaceAll("\\[.*\\]", "", false, false, true);

ちなみに「\」という文字をマクロ中の正規表現検索でマッチさせるには、"\\\\" と「\」を 4 つ重ねる必要があります。
/\[.*\]/ のような正規表現リテラルがないのでわかりにくい記述になってしまいますが、よろしくお願いします。

Re: [572] ReplaceAllで長文の置換

こや [2020/08/12 00:48:03]

早速のご返信、ありがとうございます。
ばっちり置換できました。

いつも本当にありがとうございます。
とても助かっています。これからもお世話になります。

スレッド一覧に戻る返信