正規表現の検索・置換例その4 キャプチャを使用した置換②

原文ファイルのトリセツ

皆さま、こんにちは。ホンヤク社の成田です。
雨続きの1週間でした。皆さまいかがお過ごしでしたでしょうか。

 

今回も引き続き、キャプチャを使用した置換方法についてご紹介します。今回はユーザーインターフェース(以下「UI」)などの特定の記号に囲われたテキストに関する置換例を挙げていきたいと思います。

 

<例>
・「[Next]」「[Back]」「[Stop]」などの「[ ]」に囲われたUIの「[ ]」をまとめて外したい
検索する文字列:\[(\w+)\]
置換する文字列:$1
⇒「[ ]」で囲われたUIを「\w+」で表記し、それのみを「( )」で括ります。「[」と「]」は対象となっていないため、置換後の文字列を「$1」とすると中身のUIだけが置換対象となり、条件に当てはまるテキストを自動で一括置換できます。

 

・本文中に出現する「Next」「Back」「Stop」などの英字UIをまとめて「[ ]」で囲いたい
検索する文字列:([A-Z][a-z]*)
置換する文字列:[$1]
⇒「Next」「Back」「Stop」などの英字UIを「アルファベット大文字1文字と後に続く小文字0文字以上の組み合わせ」と定義して「[A-Z][a-z]*」と表記します。置換後の文字列に「[$1]」として「[ ]」で囲って置換されるようにします。ただし、「[A-Z][a-z]*」に当てはまるテキストはすべて置換対象となってしまう点や、この例では数字は対象外となってしまう点など、漏れややり過ぎが生じてしまう可能性がありますので、適宜工夫して使うようにしてください。

 

・「[Next]」「[Back]」「[Stop]」などの「[ ]」に囲われたUIの「[ ]」をまとめて「” ”」に変換したい
検索する文字列:\[(\w+)\]
置換する文字列:”$1”
⇒1つ目の例と同様に「[ ]」で囲われたUIを「\w+」で表記し、それのみを「( )」で括ります。置換後の文字列に「”$1”」とすると中身のテキストが「” ”」に囲われた形で置換されますので、条件に当てはまるテキストを自動で一括置換できます。

 

いかがでしたでしょうか? さまざまな表記のUIについて、キャプチャを使用して効率的に置換処理を行えることがおわかりになれば幸いです。

次回も、キャプチャを使用した正規表現の置換例についてさらにお話しします。