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
}


AutoHotKey(오토핫키) 설명서 StringMid

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

StringMid

문자열의 지정 위치로부터 지정 문자수만큼을 꺼낸다

StringMid, OutputVar, InputVar, StartChar,[ Count , L] 

Parameters

인수명설명
OutputVar 꺼낸 문자열을 격납하는 변수명
InputVar 문자열을 꺼내는 것도라는 변수명.
OutputVar(와)과 같은 것 이라도 좋다.
StartChar 꺼내는 부분의 개시 위치.
StringGetPos(와)과 달라,1문자눈이 「1」.
1미만을 지정했을 경우는1(으)로 간주해진다.
문자열의 길이보다 큰 값을 지정했을 경우,OutputVar(은)는 비운다.
Count 꺼내는 문자수.
StartChar문자눈으로부터 세어InputVar의 길이보다 커져 버리는 경우,StartChar문자눈으로부터 끝까지가 꺼내진다.
이 인수를 생략 했을 경우도, 끝까지가 꺼내진다.
L 「L」(을)를 지정하면,StartChar이전(좌)의 부분을Count문자만 꺼낸다.
이 경우,StartChar에 「StartChar-Count+1」(을)를 지정한 것과 같게 된다.

Related

IfInString, StringGetPos, StringLeft, StringRight, StringTrimLeft, StringTrimRight, StringLen, StringLower, StringUpper, StringReplace

Example(s)

Source = Hello this is a test. 
StringMid, the_word_this, Source, 7, 4  


AutoHotKey(오토핫키) 설명서 StringLower / StringUpper

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

StringLower / StringUpper

문자열을 모두 소문자나 모두 대문자에 변환

StringLower, OutputVar, InputVar [, T]
StringUpper, OutputVar, InputVar [, T] 

Parameters

인수명설명
OutputVar 변환 후의 문자열을 격납하는 변수명
InputVar(와)과 같은 변수라도 좋다
InputVar 변환 원래의 문자열이 들어간 변수의 이름
T 제3인수에 「T」(을)를 지정하면, 단어의 선두만이 대문자로 다음은 소문자의 형식에 변환된다.

Remarks

If var is [not] upper|lower(을)를 사용하면, 문자열이 모두 대문자나 모두 소문자일지를 조사할 수 있다.

Related

IfInString, StringGetPos, StringMid, StringTrimLeft, StringTrimRight, StringLeft, StringRight, StringLen, StringReplace

Example(s)

StringUpper, String1, String1 ; i.e. output can be the same as input.
StringLower, String2, String2


AutoHotKey(오토핫키) 설명서 StringLen

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

StringLen

변수의 내용의 문자수를 취득

StringLen, OutputVar, InputVar

Parameters

인수명설명
OutputVar 문자수를 격납하는 변수명
InputVar 문자수를 조사하고 싶은 변수명.

Related

IfInString, StringGetPos, StringMid, StringTrimLeft, StringTrimRight, StringLeft, StringRight, StringLower, StringUpper, StringReplace

Example(s)

StringLen, length, InputVar
MsgBox, The length is %length%.


AutoHotKey(오토핫키) 설명서 StringLeft / StringRight

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

StringLeft / StringRight

변수내의 문자열의 초 혹은 마지막의 지정 문자 몇분을 뽑아낸다

StringLeft, OutputVar, InputVar, Count
StringRight, OutputVar, InputVar, Count

Parameters

인수명설명
OutputVar 뽑아낸 문자열을 격납하는 변수명. InputVar(와)과 같은 것을 지정해도 괜찮다.
InputVar 뽑아내는 원의 문자열이 들어간 변수명.
Count 뽑아내는 문자수.
제로 이하를 지정하면,OutputVar(은)는 비운다.
InputVar그리고 지정한 변수의 내용의 문자수보다 큰 값을 지정하면,OutputVar하InputVar(와)과 같은 내용이 된다.

Remarks

StringLeft그럼 문자열의 초를,StringRight그럼 문자열의 마지막을 꺼낸다.

Related

IfInString, StringGetPos, StringMid, StringTrimLeft, StringTrimRight, StringLen, StringLower, StringUpper, StringReplace

Example(s)

String = This is a test. 
StringLeft, OutputVar, String, 4 ; Stores the string "This" in OutputVar. 
StringRight, OutputVar, InputVar, 5 ; Stores the string "test." in OutputVar.  


AutoHotKey(오토핫키) 설명서 StringGetPos

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

StringGetPos

문자열중의 특정의 문자열의 위치를 검색한다

StringGetPos, OutputVar, InputVar, SearchText [, L#|R# , Offset] 

Parameters

인수명설명
OutputVar 검색된 위치를 격납하는 변수명.
문자열의 처음은 「0」로서 센다.
발견되지 않았던 경우는, 「-1」(이)가 된다.
InputVar 문자를 검색하는 대상의 문자열이 격납된 변수명.
SearchText 검색하는 문자열.
StringCaseSense그리고 설정하지 않는 한, 대문자 소문자의 차이는 무시된다.
L#|R# SearchText에 매치하는 부분이 다수 있는 경우, 몇번째의 출현 위치를 취득하는지를 지정할 수 있다.
생략시는, 제일 최초의 출현 위치를 취득한다.
「1」(이)나 「R」(을)를 지정하면, 제일 마지막 출현 위치를 취득할 수 있다.
「L2」(와)과 같이 「L」에 이어 숫자를 지정하면, 최초부터 지정 번째의 출현 위치를 취득할 수 있다.
「R3」(와)과 같이 「R」에 이어 숫자를 지정하면, 최후로부터 지정 번째의 출현 위치를 취득할 수 있다.
SearhText의 출현수가L(이)나R에 이어 지정한 수보다 적었던 경우, 발견되지 않았다 보여OutputVar(은)는 「-1」(이)가 된다.
Offset 검색시, 최초의Offset문자분만큼 무시해 검색을 시작한다.
생략시는 「0」.
L#|R#그리고 최후로부터 검색하는 지정이 되어 있는 경우, 마지막Offset문자분을 날려 검색을 시작한다.

ErrorLevel

SearchText하지만 발견되지 않았던 경우는 「1」, 발견되었을 경우는 「0」

Remarks

StringMid(와)과 달라, 문자열의 처음은 「0」문자눈으로서 처리된다.

L#|R#(이)나Offset옵션으로의 지정에 관계없이, 반드시InputVar의 선두로부터의 위치가 취득된다.

파일의 패스를 분해하고 싶은 경우,SplitPath(을)를 사용하는 편이 편리.

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

Related

IfInString, StringCaseSense, SplitPath, StringLeft, StringRight, StringMid, StringTrimLeft, StringTrimRight, StringLen, StringLower, StringUpper, StringReplace, if var is type


Examples

Haystack = abcdefghijklmnopqrs
Needle = def
StringGetPos, pos, Haystack, %Needle%
if pos >= 0
	MsgBox, The string was found at position %pos%.
; Example #2:
; Divides up the full path name of a file into components.
; Note that it would be much easier to use StringSplit or a
; parsing loop to do this, so the below is just for illustration.
FileSelectFile, file, , , Pick a filename in a deeply nested folder:
if file <>
{
	StringLen, pos_prev, file
	pos_prev += 1 ; Adjust to be the position after the last char.
	Loop
	{
		; Search from the right for the Nth occurrence:
		StringGetPos, pos, file, \, R%A_Index%
		if ErrorLevel <> 0
			break
		length := pos_prev - pos - 1
		pos_prev := pos
		pos += 2  ; Adjust for use with StringMid.
		StringMid, path_component, file, %pos%, %length%
		MsgBox Path component #%a_index% (from the right) is:`n%path_component%
	}
}


AutoHotKey(오토핫키) 설명서 StringCaseSense

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

StringCaseSense

문자열의 비교로 대문자 소문자를 구별하는지를 설정한다

StringCaseSense, On|Off|Locale

Parameters

인수명설명
On|Off|Locale 이하의 어떤 것인지를 지정
On
대문자 소문자의 구별을 실시한다
Off
A-Z의 알파벳만, 대문자 소문자의 차이를 무시한다(디폴트)
Lcale
현재의 유저의 로케일 설정에 따라서 대문자 소문자의 차이를 무시한다.
일본어 환경의 경우, 전각의 알파벳등도 대상이 된다.

ErrorLevel

성공시는 「0」, 실패시는 「1」.

Remarks

==연산자에서는, 이 커멘드로의 설정에 관계없이, 항상 대문자 소문자가 구별된다.

=연산자에서는, 항상 대문자 소문자가 무시되어 이 커멘드로On하지만 지정되었을 경우는,Locale모드가 된다

이 커멘드로의 설정은, 각종 비교 연산자,IfEqual,IfInString,If var in/contains,IfBetween,StringReplace,StringGetPos커멘드,InStr함수로 사용된다.

편입 변수A_StringCaseSense그리고 현재의 설정치를 참조할 수 있다.

이 설정의 기본치는, 스크립트의 최초의AutoExecute섹션그리고 설정한다.
hot key등에서 새롭게 기동되었다스렛드그럼, 설정은 기본치로 설정된다.

Related

IfEqual, IfInString, StringReplace, StringGetPos

Example(s)

StringCaseSense, on 


AutoHotKey(오토핫키) 설명서 StatusBarWait

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

StatusBarWait

상태 바의 내용이 지정한 텍스트에 성냥 하게 될 때까지 대기

StatusBarWait [, BarText, Seconds, Part#, WinTitle, WinText, Interval, ExcludeTitle, ExcludeText] 

Parameters

인수명설명
BarText 텍스트를 지정.대문자 소문자는 구별된다.SetTitleMatchMode그리고 지정한 매치 방식(전방 일치나 중간 일치 등)그리고 판별된다.
Seconds 몇초간까지 기다릴까.생략시는 무한하게 기다린다.「0」(을)를 지정하면,0.5초 기다린다.
Part# 몇번째의 단락을 대상으로 할까.디폴트는 「1」.
WinTitle 윈도우 타이틀 등.
윈도우 지정의 방법참조.
WinText 윈도우에 포함되는 텍스트
Interval 무슨 밀리 세컨드 간격으로 타이틀을 체크할까.디폴트는 「50」.
ExcludeTitle 제외 타이틀
ExcludeText 제외 텍스트

ErrorLevel

0
상태 바의 내용이 지정한 텍스트에 일치하게 되었다
1
상태 바의 내용이 지정한 텍스트에 일치하게 되기 전에Seconds그리고 지정한 시간이 경과했다
2
상태 바에 액세스 할 수 없었다

Remarks

Delphi제 어플리케이션등이 특수한 사양의 상태 바의 텍스트는 취득할 수 없다.

대기중은 hot key나 타이머등에서 기동되었다스렛드하지만 끼어들 수 있다.

Related

StatusBarGetText, WinGetTitle, WinGetText, ControlGetText

Example(s)

IfWinExist, Search Results ; Sets the Last Found window to simplify the below.
{
	WinActivate
	Send, {tab 2}!o*.txt{enter}
	Sleep, 400  ; Give the status bar time to change to "Searching".
	StatusBarWait, found, 30
	if ErrorLevel = 0
		MsgBox, The search successfully completed.
	else
		MsgBox, The command timed out or there was a problem.
}


AutoHotKey(오토핫키) 설명서 StatusBarGetText

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

StatusBarGetText

지정한 윈도우의(표준 사양의)상태 바의 텍스트를 취득

StatusBarGetText, OutputVar [, Part#, WinTitle, WinText, ExcludeTitle, ExcludeText]

Parameters

인수명설명
OutputVar 텍스트를 격납하는 변수명
Part# 몇째의 단락의 텍스트를 취득할까.디폴트는 「1」.
WinTitle 윈도우 타이틀 등.
윈도우 지정의 방법참조.
WinText 윈도우에 포함되는 텍스트
ExcludeTitle 제외 타이틀
ExcludeText 제외 텍스트

ErrorLevel

성공시는 「0」, 실패시는 「1」.

Remarks

Delphi제 어플리케이션등이 특수한 사양의 상태 바의 텍스트는 취득할 수 없다.

상태 바의 내용이 특정의 문자열이 되는 것을 기다리고 싶다면,StatusBarWait커멘드를 사용한다.

Related

StatusBarWait, WinGetTitle, WinGetText, ControlGetText

Example(s)

StatusBarGetText, RetrievedText, 1, Search Results
IfInString, RetrievedText, found, MsgBox, Search results have been found. 


AutoHotKey(오토핫키) 설명서 Sqrt()

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

Sqrt()

주어진 수치의 제곱뿌리를 돌려주는 함수

Sqrt(N)

Parameters

인수명설명
N원이 되는 수치를 지정한다

Remarks

돌아가 값은 소수치 표현이 된다
N하지만 수치가 아니었던 경우나, 계산 불능인 값이 주어졌을 경우는, 길이 제로의 공문자열이 돌아간다.

Related

함수