AutoHotKey(오토핫키) 설명서 StringSplit

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

StringSplit

문자열을 지정의 단락 문자로 분할한다

StringSplit, OutputArray, InputVar [, Delimiters, OmitChars, FutureUse]

Parameters

인수명설명
OutputArray 결과의 문자열군을 격납하는 변수명의 프리픽스.
여기서 지정한 문자열의 뒤로 「0」(을)를 붙인 이름의 변수에, 분할된 요소수가 격납되어 「1」이후의 숫자를 붙인 이름의 변수에, 각 요소가 격납된다.
예를 들어, 여기서 「array」(을)를 지정했을 경우, 「array0」에 요소수가, 「array1」 「array2」...에 각 요소가 격납된다.
InputVar 분할하는 것도라는 문자열을 격납한 변수명
Delimiters 단락 문자로서 사용하고 싶은 문자를 열거.대문자 소문자는 구별된다.
생략시는,InputVar하지만1문자씩에 분해된다.
OutputArray에 격납되는 문자열에는, 단락 문자는 포함되지 않는다.
OmitChars 분할된 각 요소의 최초와 최후로부터 없애는 문자를 열거.(대문자 소문자는 구별된다)
Delimiters하지만 하늘의 경우, 여기서 지정한 문자를 제외하고1문자씩에 분해된다.
FutureUse 장래의 확장을 위해서 예약되고 있다.이 인수는 항상 생략 한다.

Remarks

InputVar안에 단락지어 문자가 두 개 이상 연속하고 있었을 경우, 하늘 요소가 생긴다.

문자는 아니고 문자열을 단락으로 하고 싶은 경우, 우선StringReplace그리고 단락으로 하고 싶은 문자열을1문자의 문자에 치환하고 나서StringSplit(을)를 사용한다.

벌써 결과가 대입되어야 할 변수와 같은 이름의 변수가 존재하는 경우, 내용은 덧쓰기된다.
그러나, 결과의 요소가 존재하지 않는 변수는, 덧쓰기되지 않는다.
예를 들어, 「a1」 「a2」 「a3」(이)가 존재하는 상태로,OutputArray에 「a」(을)를 지정하고 분할을 실시해,2개의 요소에 분할되었을 경우, 「a1」 「a2」(은)는 덧쓰기되지만, 「a3」(은)는 덧쓰기되지 않고 그대로 된다.

parsing loop(을)를 사용하면, 분할 후의 요소를 메모리에 격납하지 않고 , 분할한 각 요소에 대해서 처리를 실시할 수 있다.
큰 문자열을 처리하고 싶을 때 등은, 이쪽의 편이 편리.

parsing loop(을)를 사용하면, 표준적인CSV포맷에 따라서 문자열을 처리할 수도 있다.

결과의 요소를 정렬하고 나서 분할하려면 ,Sort그리고 정렬하고 나서StringSplit한다.

Related

Parsing loop, Arrays, Sort, SplitPath, IfInString, StringGetPos, StringMid, StringTrimLeft, StringTrimRight, StringLen, StringLower, StringUpper, StringReplace

Example(s)

TestString = This is a test.
StringSplit, word_array, TestString, %A_Space%, .  ; Omits periods.
MsgBox, The 4th word is %word_array4%.

Colors = red,green,blue
StringSplit, ColorArray, Colors, `,
Loop, %ColorArray0%
{
	StringTrimLeft, this_color, ColorArray%a_index%, 0
	MsgBox, Color number %a_index% is %this_color%.
}