≪処理18≫ 単一文字列の置換
【用 途】
ファイル内の文字列を一括置換する場合に、置換対象となる文字列が複数存在し、すべてを置換せずに、特定の場所にある文字列だけを置換対象にしたい場合があります。
そのような時に、置換対象となるフィールド内の位置を指定して、一部の文字列のみを一括置換するのに役立ちます。
【処理概要】
(置換前)
1,学生,埼玉県八戸市南類家1-5-9,熊本 健一,H8.5.9,男
2,一般,埼玉県埼玉市橋本1丁目4-8,香川 真一,S58.1.30,男
3,学生,埼玉県三沢市桜町2-4-6,群馬 俊二,H5.1.31,男
上記のようなファイルに、
「置換前後の文字列」 「埼玉」 ⇒ 「さいたま」
「フィールド内の置換位置」 6バイト目から
「フィールド内の置換調査範囲」 4バイト
として、「単一文字列の置換」を実行した場合、置換後のファイルは、次のようになります。
(置換後)
1,学生,埼玉県八戸市南類家1-5-9,熊本 健一,H8.5.9,男
2,一般,埼玉県さいたま市橋本1丁目4-8,香川 真一,S58.1.30,男
3,学生,埼玉県三沢市桜町2-4-6,群馬 俊二,H5.1.31,男
【使用方法】
対象範囲のフィールド内にある文字列を指定のルールで置換します。
1 対象範囲
スピンボタンをクリックしてビューの選択フィールドを移動させて指定してください。
2 置換前後の文字列
(置換前)の文字列は必ず入力してください。
(置換後)の文字列は空欄にできます。
この場合は、(置換前)の文字列に合致した文字列が削除されることになります。
□飛ばし置換をする
置換したくない文字列を????にすることで、置換したくない文字列を挟んだ2つの文字列を同時に置換することができます。
例1) (置換前)AB????CD (置換後)EFGH????K
=> ????部分の文字列をそのままにして、文字列ABを文字列EFGH, 文字列CDを文字列K に置換します。
例2) (置換前)AB????CD (置換後)EFGH
=> 文字列ABで始まり文字列CDで終わる8バイトの文字列部分を文字列EFGHに置換します。
例3) (置換前)AB????CD (置換後)(空欄)
=> 文字列ABで始まり文字列CDで終わる文字列をすべて削除します。
※ 置換後の文字列で飛ばし文字列(????)が使用されているときは、置換前の文字列のものと長さが一致する必要があります。
3 フィールド内の置換位置
対象フィールド内のすべてを対象として置換文字を探さず、フィールド内の位置を指定するときはいずれかにチェックを付けてください。
・フィールド内の置換調査範囲
置換位置が「指定しない(すべて)」でない場合に、指定位置から何バイトを調査対象範囲とするかをスピンボタンをクリックして指定します。
⇒ 「開始」ボタンをクリックすると処理が開始され、結果がビューに表示されます。