文字列を置換する。(バージョン4.67以降)
strreplace <strvar> <index> <regex> <newstr>
文字列変数 <strvar> の <index> 位置(1オリジン)から、正規表現 <regex> を検索し、文字列 <newstr> に置き換える。
<newstr> が ""(空文字列) の場合、<strvar> 中の <regex> は削除される。
置換が成功すると、システム変数 result に "1" が格納され、正規表現 <regex> でマッチした文字列はシステム変数 matchstr に格納される。
<regex> が <strvar> の内容にマッチせず置換が行われなかった場合は、result に "0" が格納される。
<regex> の書式が正しくない等でエラーとなった場合は、result に "-1" が格納される。
日本語等のマルチバイト文字列を検索する場合、事前にregexoptionで適切なエンコーディングを設定しておく必要がある。
このマクロコマンドを実行すると システム変数 groupmatchstr1 〜 groupmatchstr9 の内容がクリアされる。
src='linux.txt' strreplace src 1 '\.txt' '.doc' messagebox src 'result' ; linux.doc
src='I can do it.' strreplace src 1 'can\s' '' messagebox src 'result' ; 'I do it.'
src='Microsoft Windows XP [Version 5.1.2600]' strmatch src '(Version \d+.\d+.)\d+' int2str s result messagebox s groupmatchstr1 pos=result ; 23 mstr=groupmatchstr1 ; Version 5.1. strreplace src pos mstr 'Build ' if result=1 then messagebox src 'result' ; Microsoft Windows XP [Build 2600] endif