文字列内のテキストを正規表現に基づいて入れ換えます。
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()