AutoHotKey(오토핫키) 설명서 StringReplace

Posted by 발전소장
2014. 8. 14. 14:17 AutoHotKey/Commands

StringReplace

문자열중의 특정의 문자열을 다른 문자열에 치환한다

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

Parameters

인수명설명
OutputVar 치환 결과의 문자열을 격납하는 변수명
InputVar 치환전의 문자열을 격납하고 있는 변수명.
OutputVar(와)과 같은 것을 지정해도 괜찮다.
SearchText 검색 문자열.StringCaseSense그리고 설정하지 않는 한, 대문자 소문자는 무시된다.
ReplaceText SearchText하지만 옮겨놓을 수 있는 앞의 문자열.
생략시는,SearchText하지만 삭제된다(하늘에 치환된다).
ReplaceAll? 이하의 것을 반각 스페이스 단락으로 지정한다.
All
SearchText에 일치하는 모든 부분을 치환한다.「1」(이)나 「A」에서도 같다.
UseErrorLevel
모든 부분을 치환하면서,ErrorLevel에 치환된 수를 격납한다.
AllSlow
후술의 고속화를 위한 처리 방법을 사용하지 않는다.(메모리 소비가 적다)

ErrorLevel

SearchText하지만 발견되지 않았던 경우 「1」, 치환에 성공했을 경우 「0」.
다만,UseErrorLevel하지만 지정되어 있는 경우, 치환된 수가 된다.

Remarks

SearchText(이)나ReplaceText에 반각 스페이스나Tab문자를 지정하고 싶은 경우, 편입 변수%A_Space%(이)나%A_Tab%(을)를 사용한다.

ReplaceAll(을)를 유효하게 해,SearchText(와)과ReplaceText에 다른 길이의 문자열을 지정해,InputVar하지만5000아르바이트 이상 있어,SearchText하지만20개이상 발견되었을 경우, 고속화를 위해 통상과는 다른 방법으로 처리를 실시한다.
이 처리동안, 통상보다 많은 메모리를 사용한다.

Related

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
}