[902] 特定の箇所を記号で囲む方法
こや [2025/04/09 16:58:58]
度々失礼いたします。
また質問させてください。
とあるセル内のhtmlのタグを置換するため、内容の一部(半角スペースが前にある、srcやhrefなどの属性名)が二重引用符("")で囲まれていないのを修正するためのマクロを作ろうと思っていて、うまく反応してくれません。
何か方法があればご教授いただけると助かります。
お手数ですがよろしくお願いいたします。
お恥ずかしながら、参考までに自作した失敗作を記載しておきます。
ReplaceAll("(\s[\w:-]+)=([^\s\"'>]+)", "$1=\"$2\"", true, false, true, 9, 2, 9, Bottom);
Re: [902] 特定の箇所を記号で囲む方法
あすかぜ [2025/04/09 21:42:52]
"" で囲んだ文字列では、「\」記号は「\"」で「"」を表したり「\n」で改行を表したりするのに使われます。
正規表現の「\」はこれとは違う意味なので、"" の中では「\」ではなく「\\」を使う必要があります。
ReplaceAll("(\\s[\\w:-]+)=([^\\s\"'>]+)", "$1=\"$2\"", true, false, true, 9, 2, 9, Bottom);
とすることで動作するのではないかと思います。
(「\\s」は正規表現の空白、「\\w」は正規表現の英数文字、「\"」は「"」という文字)
わかりにくくてすみませんが、よろしくお願いします。
Re: [902] 特定の箇所を記号で囲む方法
こや [2025/04/10 19:41:45]
早速のご返信、ありがとうございました。
的確なご指摘で無事に思い通りの動作ができました。