48 - [오토핫키] 문자열관리, 파싱 (2)

    Parsing (파싱)은 문장의 문법적인 구성을 분석하는 과정을 나타내는 용어로 사용됩니다. 47 - [오토핫키] 문자열관리, 파싱 (1) 에서 검색어의 존재 유무, 검색어의 위치를 찾는 방법을 다뤘다면 이번에는 특정 위치의 문자열을 추출하는 방법을 다루겠습니다. 

     

     

    문법 : 왼쪽 / 오른쪽으로 부터 문자 추출

    StringLeft, OutputVar, InputVar, Count

    StringRight, OutputVar, InputVer, Count

     

    설명

    OutputVar

    추출한 문자열을 저장할 변수의 이름.

    InputVar

    검색할 내용을 담고 있는 변수의 이름.

    Count

    추출할 문자의 개수. 표현식 가능

     

     

    예제

    예제1)

    var =  ;변수에 여러줄을 담을땐 소괄호!

    (

    동해물과 백두산이 마르고 닳도록

    하느님이 보우하사 우리 나라 만세

    무궁화 삼천리 화려강산

    대한사람 대한으로 길이 보전하세

    )

     

    StringLeft, Output, var, 8

    MsgBox, %Output%

    Return

    예제2)

    var =  ;변수에 여러줄을 담을땐 소괄호!

    (

    여 : 니가 나한테 어떻게 이럴 수 있어!?

    남 : 미안해...

    여 : 뭐가 미안한데?

    남 : 뭐든 정말 다 미안해

    여 : 니가 뭘 잘못한지도 모르고 사과를 해?

    남 : 자기전에 전화 안한거 미안해

    여 : 됐어 우리 헤어져!

    )

     

    StringRight, Output, var, 10

    MsgBox, %Output%

    Return

     

    왼쪽에서부터, 혹은 오른쪽에서 부터 몇 번째 문자까지 추출하는 방식입니다.

     

    문법 : 지정된 위치로부터 문자 추출

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

    NewStr := SubStr(String, StartPos [, Length])

     

    설명

    OutputVar

    추출한 문자열을 저장할 변수의 이름.

    InputVar

    검색할 내용을 담고 있는 변수의 이름.

     

    StartChar

    추출할 첫 문자의 위치. InStr처럼 첫 문자는 1입니다. 표현식 가능

     

    Count

    추출할 문자의 개수. 표현식 가능

     

    L

    StartChar로 첫 문자를 지정한 위치로부터 오른쪽이 아닌 왼쪽으로 추출합니다.

     

     

    예제

    예제1)

    var =  ;변수에 여러줄을 담을땐 소괄호!

    (

    동해물과 백두산이 마르고 닳도록

    하느님이 보우하사 우리 나라 만세

    무궁화 삼천리 화려강산

    대한사람 대한으로 길이 보전하세

    )

     

    StringMid, Output, var, 38, 3

    MsgBox, %Output%

    Return

    예제2)

    var =  ;변수에 여러줄을 담을땐 소괄호!

    (

    여 : 니가 나한테 어떻게 이럴 수 있어!?

    남 : 미안해...

    여 : 뭐가 미안한데?

    남 : 뭐든 정말 다 미안해

    여 : 니가 뭘 잘못한지도 모르고 사과를 해?

    남 : 자기전에 전화 안한거 미안해

    여 : 됐어 우리 헤어져!

    )

     

    MsgBox % SubStr(var, 70, 21)

    Return

     

    내장함수 SubStr(String, StartingPos [, Length]) 는 String에 담겨있는 문자열로부터 StartingPos의 위치를 시작으로 오른쪽으로 Length만큼 추출해서 돌려줍니다. 첫 번째 문자를 추출하려면 StartingPos는 1을 지정합니다.

     

     

     

     

    Posted by 옹봉이