Function Reference

StringRegExpReplace

文字列内のテキストを正規表現に基づいて入れ換えます。

StringRegExpReplace ( "test", "pattern", "replace", [ count ] )

 

パラメータ

test 調べる文字列
pattern 比較する正規表現。パターン定義文字についてはStringRegExpを参照。
replace 正規表現に該当したテキストと入れ換えるテキスト。 該当するグループテキストを挿入するために、\0 - \9 (または $0 - $9)が後方参照として使用可能です。
count [オプション] 文字列内での入れ換え実行回数。 デフォルトは0。文字列全体に適用する場合0を指定します。

 

返し値

@Error 意味
0 適正に処理。入れ換えた回数を調べるためには@Extendedを参照。
2 無効なパターン。@Extended = パターン内のエラー位置

 

注意

後方参照を実際の(置換された)番号と分ける場合は波括弧っで囲んでください。例 "${1}5"。

 

関連

StringRegExp

 


Test1()
Test2()

; 基本的な置換をおこなう例。 母音のaeiouを@文字で置換する。
Func Test1()
    Local $sInput = "Where have all the flowers gone, long time passing?"
    Local $sOutput = StringRegExpReplace($sInput, "[aeiou]", "@")
    Display($sInput, $sOutput)
EndFunc ; Test1()

; 次の例では後方参照を使用してMM/DD/YYYYをDD.MM.YYYYに変更する。
Func Test2()
    Local $sInput = 'some text1 12/31/2009 01:02:03 some text2' & @CRLF & _
        'some text3 02/28/2009 11:22:33 some text4'
    Local $sOutput = StringRegExpReplace($sInput, '(\d{2})/(\d{2})/(\d{4})', ' $2.$1.$3 ')
    Display($sInput, $sOutput)
EndFunc ; Test2()

Func Display($sInput, $sOutput)
    ; 出力をフォーマット
    Local $sMsg = StringFormat("Input:\t%s\n\nOutput:\t%s", $sInput, $sOutput)
    MsgBox(0, "Results", $sMsg)
EndFunc ; Display()