# strreplace

文字列を置換する。

## 形式

    strreplace <strvar> <index> <regex> <newstr>

## 解説

文字列変数 <strvar> の <index> 位置（1オリジン）から、正規表現 <regex> を検索し、文字列 <newstr> に置き換える。
<newstr> が ""(空文字列) の場合、<strvar> 中の <regex> は削除される。

置換が成功すると、result 変数に"1"が入り、正規表現 <regex> でマッチした文字列は matchstr 変数に格納される。
置換が失敗した場合は、result 変数が"0"になる。

日本語等のマルチバイト文字列を検索する場合、事前にregexoptionで適切なエンコーディングを設定しておく必要がある。

このマクロコマンドを実行すると groupmatchstr システム変数の内容がクリアされる。

## 例

    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

## 参照

Oniguruma の正規表現
regexoption
strmatch
strinsert
strremove