複数種文字列変更
複数種類の文字列を、メモ帳を使って個別に変更する外部変形です。
メモ帳には、対象文字、¥(全角)、置換文字の順で書込み上書き保存。
注)ANSIで保存してください。
例)2種類の場合は、2行に分けて書込んでください。
ABCDE¥12345
FGHIJ¥6789
外変用バッチファイル
----------
@REM 複数種文字列変更
@echo off
REM #jww
REM #cd
REM #h3 範囲内の文字選択
REM #hc 文字を範囲選択してください
REM #ht10 ブロック図形除外
REM #e
notepad memo.txt
jgawk '{if($1!=""){print "¥",$0}{}}' memo.txt>tmemo.txt
jgawk -f pl_chr.awk tmemo.txt jwc_temp.txt>temp.txt
copy temp.txt jwc_temp.txt
del temp.txt
del tmemo.txt
goto end
# 範囲選択から左AM0時「確定 基点(free)」を実行
# メモ帳に対象文字¥置換文字を書込み
2021/4/26 行削除
jgawk '{print ""}' tmemo.txt>memo.txt
:end
pl_chr.awk
----------
## 複数種文字列変更
BEGIN{
dq="\"" # ダブルコーテーション
sp=" " # 半角スペース
fdq="¥" # 区切り文字:全角
} # BEGIN
## 対象文字/置換文字
/^¥/{ n=n+1
split($0,cc,fdq)
be[n]=dq cc[2] # 対象文字
sub(sp,"",be[n]) # 半角スペース削除
af[n]=dq cc[3] # 置換文字
next
}
/hq/{print "hd";next} # 選択図形消去
/^ch/{ ch=$6
if(NF>6){ # 半角スペースを含む文字列
for(i=7;i<=NF;i++){
ch=ch sp $(i)}
}
chr=comp(ch,be,af) # 作図文字/対象文字比較
if(chr==""){print}
else{print "ch",$2,$3,$4,$5,chr}
next} # ch
## 再作図
{print}
##### ユーザー定義関数
## 文字列比較
function comp(chr,be,af){
for(i=1;i<=n;i++){
if(chr==be[i]){return af[i]}
} # for
} # function
| 固定リンク
コメント