4-1-2.文字列の置換(ワイルドカード)



検索する文字列に * ? # [ ] などのワイルドカードを指定することで、あいまい検索が行えます。また、置換する文字列に $ を指定すれば、ワイルドカードに該当した文字列を使用することができるので、応用して順番の入れ替えや複写が行えます。ワイルドカードの簡単さを維持しながら正規表現的な指定ができます。メタ文字のグループ化や $ はTextSS.netの独自のワイルドカードなので、一般的なワイルドカードより拡張されています。
ワイルドカードを通常の文字として扱う場合は [ ] で囲ってください。

チェックボックスの『ワイルドカードの * を最長マッチにする』『ワイルドカードの * を単一行のみとする』で結果が変わるのでご注意ください。




※チェックボックスの説明は『4-3.チェックボックス』を参照してください。マッチした文字列に特殊変換を行うことができます。(Ver 5.40以降)
※入力補助の説明は『4-4.ボタンとラベルと入力補助へのリンク』を参照してください。


検索する文字列で使用できるワイルドカード

メタ文字
説明
*
任意の複数文字を示します。
全角、半角、英数字、改行を問わない任意の長さ0文字以上の文字を示します。
オプションで最短マッチと最長マッチを指定できます。詳細はオプション説明を参照してください。
?
任意の1文字を示します。
全角、半角、英数字を問わない任意の1文字を示します。改行コード(CrLf)は通常2文字分なので ?? と指定します。
#
任意の数字1文字を示します。
全角、半角を問わない数字の1文字を示します。数字に限定されるので半角3や全角3は当てはまりますが、英字や記号は当てはまりません。
[ ]
[ ] 内のいずれか1文字を示します。[abc] ならば、aかbかc を示します。
[ - ]
[ - ] 内の連続した文字範囲のいずれか1文字を示します。
[0-9] なら数字1文字を示し、[a-zA-Z]ならアルファベット1文字を示します。[A-D] ならキャラクターコードで A から D までのいずれかの文字を示します。必ずキャラクターコードの昇順で指定してください。[z-a] と指定した場合はエラーになり、[a-]として場合は a または - という意味になるので注意してください。
[! ]
[! ] 内の文字以外のいずれか1文字を示します。[!abc] ならば、aかbかc以外の文字。
( )
TextSS.netの独自のワイルドカードです。
置換する文字列で $ を使用する場合は必ず検索する文字列でグループ化してください。
ワイルドカードの * ? # [ ] を置換する文字列で使用する場合に使用します。特に ? や # など1文字で1文字の意味を持つワイルドカードをグループ化させると便利になります。年度を検索する場合に『????年度』と指定すると検索はできますが、それを置換する文字列で使用することはできません。これを『(?)(?)(?)(?)年度』と個別に指定するか、『(????)年度』としてグループ化させると置換する文字列で使用できるようになります。この指定で置換する文字列で $1 のように指定するとワイルドカードの該当文字を挿入することができます。カッコの中にワイルドカード以外も含めることができるので『(????年度)』のような指定もできます。
[*]  [#]


[?]  


[[]  []]



[(]  [)]

ワイルドカードの * # ? [ ] ( )を通常の文字として使用する場合は [*] [#] [?] [[] []] [(] [)] のように [ ] で囲みます。


置換する文字列で使用できるワイルドカード

メタ文字
説明
$x
検索する文字列で ( ) を使ってグループ化したワールドカードの先頭からの番号(xの部分に数字)を指定します。なお、$0 または $& はワールドカードに該当した部分の全体という意味になります。
※サンプルを見ると分かりやすいと思います。



サンプル1



ワイルドカード * と ? を使い、その順番を $ で入れ替えた例を示します。
チェックボックスはすべてOFFです。

置換方法 文字列の置換(ワイルドカード)
検索する文字列 (Y*Y)*(????年)
置換する文字列 $2に$1が開発し、
テストする文字列 TextSSはYamashita-Yのフリーソフトウェアです。
このソフトは1998年に公開しています。
正式な名前は『複数のHTML&テキストファイル内を一括置換TextSS』です。
テスト結果 TextSSは1998年にYamashita-Yが開発し、に公開しています。
正式な名前は『複数のHTML&テキストファイル内を一括置換TextSS』です。


サンプル2(Ver 5.40以降)



ワイルドカード * と ? を使い、その順番を $ で入れ替えた例を示します。
置換する文字列のチェックボックス『07 半角数字を全角数字 12 ⇒ 12』をONにした例を示します。

置換方法 文字列の置換(ワイルドカード)
検索する文字列 (Y*Y)*(????年)
置換する文字列 $2に$1が開発し、
テストする文字列 TextSSはYamashita-Yのフリーソフトウェアです。
このソフトは1998年に公開しています。
正式な名前は『複数のHTML&テキストファイル内を一括置換TextSS』です。
テスト結果 TextSSは1998年にYamashita-Yが開発し、に公開しています。
正式な名前は『複数のHTML&テキストファイル内を一括置換TextSS』です。


サンプル3



ワイルドカード # を使い、その順番を $ で入れ替えた例を示します。
チェックボックスはすべてOFFです。

置換方法 文字列の置換(ワイルドカード)
検索する文字列 (####年)(##月)(##日)
置換する文字列 $2$3$1
テストする文字列 日付を2022年02月22日と表記します。
テスト結果 日付を02月22日2022年と表記します。