StringReplace

提供: AutoHotkey Wiki
移動: 案内検索

実行制御 | GUI表示 | 演算・変数 | メモリ・DLL操作 | 文字列操作 | キーボード | マウス | シェル | ウィンドウ | ウィンドウグループ
ステータスバー | コントロール | サウンド | ファイル | INIファイル | レジストリ | 環境変数 | AutoHotkey | その他 | 設定関係 | オブジェクト

StringReplace[編集]

文字列中の特定の文字列を別の文字列に置換する。

StringReplace, OutputVar, InputVar, SearchText [, ReplaceText, ReplaceAll?] 

Parameters[編集]

引数名 説明
OutputVar 置換結果の文字列を格納する変数名
InputVar 置換前の文字列を格納している変数名。
OutputVarと同じものを指定してもよい。
SearchText 検索文字列。StringCaseSenseで設定しない限り、大文字小文字は無視される。
ReplaceText SearchTextが置き換えられる先の文字列。
省略時は、SearchTextが削除される(空に置換される)。
ReplaceAll? 以下のものを半角スペース区切りで指定する。
All SearchTextに一致するすべての部分を置換する。 1Aでも同じ。
UseErrorLevel 全ての部分を置換しつつ、ErrorLevelに置換された数を格納する。

ErrorLevel[編集]

SearchTextが見つからなかった場合 1、置換に成功した場合 0
ただし、UseErrorLevelが指定されている場合、置換された数になる。

Remarks[編集]

文字列の検索と置換はバイト単位処理される。
2バイト文字の途中であるかどうかは考慮されない(日本語を扱う上での不具合を参照。)

SearchTextやReplaceTextに半角スペースやTab文字を指定したい場合、組み込み変数%A_Space%%A_Tab%を使用する。

v1.0.45よりかつてあった AllSlow オプションは用いられなくなった。
該当オプションを利用しないでもパフォーマンスがでるようになった。
互換性のために指定をしてもエラーにはならないが、何の効果も生じない。

Related[編集]

RegExReplace(), IfInString, StringLeft, StringRight, StringMid, StringTrimLeft, StringTrimRight, StringCaseSense, StringLen, StringLower, StringUpper, StringGetPos, If var is type

Example(s)[編集]

; Remove all CR+LF's from the Clipboard contents:
StringReplace, Clipboard, Clipboard, `r`n, , All
; Replace all spaces with pluses:
StringReplace, NewStr, OldStr, %A_Space%, +, All
; Remove all blank lines from the text in a variable:
Loop
{
    StringReplace, MyString, MyString, `r`n`r`n, `r`n, UseErrorLevel
    If ErrorLevel = 0  ; No more replacements needed.
        Break
}