正規表現を使って文字を置換する
2845 views
この記事では、ReplaceTextを使って文字を置換する方法について紹介します。
また、文字列から指定した文字を削除する設定も合わせて紹介しています。
文字置換を利用する意図
ReplaceTextを用いた文字置換は、表計算ソフトの以下のような関数に相当します。
・Excel, GoogleSpreadsheetのSUBTITUTE関数
・GoogleSpreadsheetのREGEXREPLACE関数
また、置換対象となる文字は、正規表現を使用して指定することが可能です。
※正規表現の詳細については、こちらをご覧ください。
指定した文字列を別の文字に置換する
ここでは、すでに入力されている文字列を指定し、別の文字列に置換する方法をご紹介します。
以下のような、宛名以外が定型文となっているメールを例として扱います。
||%%NAME%%||さん 暑中見舞い申し上げます。 以上です。
このような場合、宛名部分の||%%NAME%%||という文字列を任意の文字列に変更する際に、ReplaceTextによる置換を利用できます。
正規表現で指定した文字列を削除する
ReplaceTextアクションの「置き換えるテキスト」パラメータを無記入にすると、「検索対象クエリ」で指定した文字列を削除することができます。
この際、置換対象となる文字は正規表現を使用して指定することが可能です。
「正規表現」のスイッチをON(True)に設定し、「検索クエリ」に正規表現を入力することで対象を指定することができます。
以下で、正規表現を使用し指定箇所を削除する例をご紹介します。
この際、エスケープ処理が必要になる主な文字も合わせてまとめています。
削除対象 | 対応する正規表現 |
すべての改行 | \n |
連続改行 | \r\n |
半角数字以外 | \D |
半角数字のみ | \d |
半角英数字 | [0-9a-zA-Z] |
すべてのHTMLタグ | <(".*?"|'.*?'|[^'"])*?> |
何らかの文字 の後すべて | (?<=何らかの文字\s).+ |
すべての半角スペース | \s |
先頭の1文字のみ | ^. |
末尾の1文字のみ | .$ |
1行内のxからyの間の文字のみ | (?<=x).*(?=y) |
改行を含む複数行からxからyの間の文字のみ | (?<=x)[\s\S]*(?=y) |
記号の内容 | エスケープする文字 |
バックスラッシュ | \\ |
セットやクラスの開始 | [ |
セットの終了 | ] |
クオンタムの開始 | { |
クオンタムの終了 | } |
グループの開始 | ( |
グループの終了 | ) |
オプションのセット | | |
文字列の開始 | ^ |
文字列の末尾 | $ |
任意の文字 | . |
0回以上の繰り返し | * |
1回以上の繰り返し | + |
0回または1回の繰り返し | ? |
正規表現で複数の指定した文字列を置換する
正規表現を用いず特定の文字を削除する
[参考記事]
<Regex>正規表現<ReplaceText>検索して置換
このページは役に立ちましたか?
サイトを見て解決しない場合はAUTOROにログインし、チャットよりお問い合わせください。