RSS惑星Python フォロー Rodrigo Girão Serrão: TIL #131 – 検索と置換での大文字小文字の変更 VS Codeの検索と置換機能は、正規表現ベースのパターンマッチングと置換でのグループ参照をサポートしています。この機能の中で、特殊シーケンスを使用して一致したグループのケースを変更する能力が強力な機能です。シーケンスには、最初の文字を大文字に変更する \u、グループ全体を大文字に変更する \U、最初の文字を小文字に変更する \l、グループ全体を小文字に変更する \L が含まれます。たとえば、「all in one go」を \U$1 に置き換えると、「ALL IN ONE GO」に変換されます。一方、Python の re.sub 関数は、動的な置換をサポートしていますが、ケース操作のためのこれらの組み込み特殊シーケンスは提供していません。Python で同様の結果を達成するには、一致したテキストオブジェクトとやり取りするカスタム関数を実装する必要があります。これらの Python 関数、たとえば all_upper と first_upper は、VS Code の特殊シーケンスの動作を模倣して、一致した文字列のケースをプログラムで変更します。all_upper 関数は、一致したグループ全体を大文字に変換し、VS Code の \U に対応します。同様に、first_upper は、一致の初期文字のみを大文字にし、VS Code の \u を反映します。Python モジュールでは、VS Code が直接提供する特殊シーケンスとは異なり、ケースの変更を手動で実装する必要があります。 Rodrigo Girão Serrão: TIL #131 – Change casing in search & replace mathspp.com
\u、グループ全体を大文字に変更する\U、最初の文字を小文字に変更する\l、グループ全体を小文字に変更する\Lが含まれます。たとえば、「all in one go」を\U$1に置き換えると、「ALL IN ONE GO」に変換されます。一方、Python のre.sub関数は、動的な置換をサポートしていますが、ケース操作のためのこれらの組み込み特殊シーケンスは提供していません。Python で同様の結果を達成するには、一致したテキストオブジェクトとやり取りするカスタム関数を実装する必要があります。これらの Python 関数、たとえばall_upperとfirst_upperは、VS Code の特殊シーケンスの動作を模倣して、一致した文字列のケースをプログラムで変更します。all_upper関数は、一致したグループ全体を大文字に変換し、VS Code の\Uに対応します。同様に、first_upperは、一致の初期文字のみを大文字にし、VS Code の\uを反映します。Python モジュールでは、VS Code が直接提供する特殊シーケンスとは異なり、ケースの変更を手動で実装する必要があります。