¹®ÀÚ¿ ¾È¿¡¼ ÁöÁ¤µÈ ºÎ¹®ÀÚ¿ÀÇ À§Ä¡¸¦ ¿¶÷ÇÕ´Ï´Ù.
StringGetPos, OutputVar, InputVar, SearchText [, L#|R#, Offset] Position := InStr(Haystack, Needle [, CaseSensitive?, StartingPos]) ; ÀÚ¼¼ÇÑ °ÍÀº InStr() ÇÔ¼ö ÂüÁ¶.
¿¶÷µÈ À§Ä¡¸¦ ÀúÀåÇÒ º¯¼öÀÇ À̸§. InputVarÀÇ Ã¹ ¹®ÀÚ¿¡ »ó´ëÀûÀÔ´Ï´Ù. À§Ä¡°¡ 0À̸é StringGetPos¿¡ ´ëÇÏ¿© ù ¹®ÀÚÀÌ°í À§Ä¡°¡ 1À̸é InStr()¿¡ ´ëÇÏ¿© ù ¹®ÀÚÀÔ´Ï´Ù.
³»¿ëÀÌ °Ë»öµÉ ÀÔ·Â º¯¼öÀÇ À̸§. À̸§À» ÆÛ¼¾Æ® »çÀÎÀ¸·Î µÑ·¯ ½ÎÁö ¸¶½Ê½Ã¿À. ´Ü, º¯¼öÀÇ ³»¿ëÀÌ À̸§À̱⸦ ¹Ù¶ó´Â °æ¿ì¶ó¸é ¿¹¿ÜÀÔ´Ï´Ù.
°Ë»öÇÒ ¹®ÀÚ¿, ºÎÇÕÀº ´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÏÁö ¾Ê½À´Ï´Ù. ´Ü, StringCaseSense°¡ ÄÑÁ® ÀÖ´Â °æ¿ì´Â ¿¹¿ÜÀÔ´Ï´Ù.
ÀÌ ¸Å°³º¯¼ö´Â InputVar ¾È¿¡¼ SearchText°¡ ¿©·¯ ¹ø ÃâÇöÇÏ¸é ¸î ¹ø° ºÎÇÕÀ» ¹ß°ßÇÒÁö¿¡ ¿µÇâÀ» ¹ÌĨ´Ï´Ù . ÀÌ ¸Å°³º¯¼ö¸¦ »ý·«Çϸé, ù ¹ø° ºÎÇÕÀ» À§ÇØ InputVar¸¦ ¿ÞÂʺÎÅÍ °Ë»öÇÕ´Ï´Ù. ÀÌ ¸Å°³º¯¼ö°¡ 1À̰ųª ±âÈ£ RÀ̸é, °Ë»öÀÌ InputVarÀÇ ¿À¸¥ÂʺÎÅÍ ½ÃÀÛÇØ ¿ÞÂÊÀ¸·Î ù ¹ø° ºÎÇÕÀ» ¹ß°ßÇÒ ¶§±îÁö °è¼ÓµË´Ï´Ù.
ù ¹ø° ºÎÇÕ¸»°í ´Ù¸¥ ºÎÇÕÀ» ¹ß°ßÇÏ·Á¸é, ±âÈ£ L ¶Ç´Â R ´ÙÀ½¿¡ ÃâÇö Ƚ¼ö¸¦ ÁöÁ¤ÇϽʽÿÀ. ¿¹¸¦ µé¾î, ¿À¸¥ÂÊ¿¡¼ ³× ¹ø° ÃâÇöÀ» ¹ß°ßÇÏ°í ½ÍÀ¸¸é. r4¸¦ ÁöÁ¤ÇϽʽÿÀ. ÁÖÀÇ: ¼ýÀÚ¸¦ 0ÀÌÇÏ·Î ÁöÁ¤Çϸé, ºÎÇÕÀÌ ¹ß°ßµÇÁö ¾Ê½À´Ï´Ù.
¿ÞÂÊ ³¡ ¶Ç´Â ¿À¸¥ÂÊ ³¡À¸·ÎºÎÅÍ (À§ÀÇ ¸Å°³º¯¼ö¿¡ µû¶ó) °Ç³Ê ¶Û ¹®ÀÚÀÇ °³¼ö.
»ý·«Çϸé, ±âº»°ªÀº 0ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½Àº ¿ÞÂÊ 10¹ø° ¹®ÀÚºÎÅÍ °Ë»öÀ» ½ÃÀÛÇÕ´Ï´Ù: StringGetPos, OutputVar, InputVar, abc, , 9
.
ÀÌ ¸Å°³º¯¼ö´Â Ç¥Çö½ÄÀÏ ¼ö ÀÖ½À´Ï´Ù..
ErrorLevelÀº ÁöÁ¤µÈ SearchTextÀÇ ÃâÇöÀ» InputVar ¾È¿¡¼ ¹ß°ßÇÒ ¼ö ¾ø¾úÀ¸¸é 1ÀÌ ¼³Á¤µÇ°í ±×·¸Áö ¾ÊÀ¸¸é 0ÀÌ ¼³Á¤µË´Ï´Ù.
StringMid ±×¸®°í InStr()¿Í ´Ù¸£°Ô, StringGetPos¿¡ ´ëÇÏ¿© 0Àº ù ¹ø° ¹®ÀÚÀÇ À§Ä¡·Î Á¤Àǵ˴ϴÙ.
¿¶÷µÈ À§Ä¡´Â ¾ðÁ¦³ª InputVarÀÇ Ã¹ ¹®ÀÚ¿¡ »ó´ëÀûÀÔ´Ï´Ù. L#|R# ±×¸®°í/¶Ç´Â OffsetÀÌ ÁöÁ¤µÇ¾î ÀÖµç ¸»µç »ó°üÀÌ ¾ø½À´Ï´Ù. ¿¹¸¦ µé¾î, ¹®ÀÚ¿ "abc"°¡ 123abc789¿¡¼ ¹ß°ßµÇ¸é, º¸°íµÈ ±×ÀÇ À§Ä¡´Â ¾ðÁ¦³ª 3ÀÔ´Ï´Ù. ¾î¶² ¹æ¹ýÀ¸·Î ¹ß°ßÇß´ÂÁö´Â »ó°üÀÌ ¾ø½À´Ï´Ù.
SearchTextÀÇ ÁöÁ¤µÈ ÃâÇöÀÌ InputVar¾È¿¡ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é, OutputVar´Â -1ÀÌ ¼³Á¤µÇ°í ErrorLevel´Â 1ÀÌ ¼³Á¤µË´Ï´Ù.
SplitPath¸¦ »ç¿ëÇÏ¸é º¸´Ù ½±°Ô ÆÄÀÏ °æ·Î¸¦ ±×ÀÇ µð·ºÅ丮¿Í ÆÄÀÏÀ̸§ ±×¸®°í È®ÀåÀÚ·Î °¡¸¦ ¼ö ÀÖ½À´Ï´Ù.
³»Àå º¯¼ö %A_Space%¿Í %A_Tab%¿¡ °¢°¢ ½ºÆäÀ̽º ¹®ÀÚ Çϳª¿Í ÅÇ ¹®ÀÚ Çϳª°¡ µé¾î ÀÖ½À´Ï´Ù. SearchTextÀÇ ¾ÕÀ̳ª µÚ¿¡¼ ½ºÆäÀ̽º¿Í ÅÇÀ» µû·Î °Ë»öÇÒ °æ¿ì¿¡ À¯¿ëÇÕ´Ï´Ù.
InStr(), RegExMatch(), IfInString, if var in/contains MatchList, StringCaseSense, StringReplace, SplitPath, StringLeft, StringRight, StringMid, StringTrimLeft, StringTrimRight, StringLen, StringLower, StringUpper, if var is type
Haystack = abcdefghijklmnopqrs Needle = def StringGetPos, pos, Haystack, %Needle% if pos >= 0 MsgBox, ¹®ÀÚ¿ÀÌ À§Ä¡ %pos%¿¡¼ ¹ß°ßµÇ¾ú½À´Ï´Ù.
; ¿¹Á¦ #2: ; ÆÄÀÏÀÌ Àüü °æ·Î¸¦ °¢ ±¸¼º¿ä¼Ò·Î ºÐÇØ ÇÕ´Ï´Ù. ; StringSplit ¶Ç´Â ÆÄ½Ì È¸µ¹À̸¦ »ç¿ëÇϸé ; ÈξÀ ´õ ½±°Ô °¡¸¦ ¼ö ÀÖ½À´Ï´Ù. ±×·¡¼ ¾Æ·¡´Â ±×Àú º¸¿©Áֱ⠿ëÀÔ´Ï´Ù. FileSelectFile, file, , , ±í¼÷È÷ ³»Æ÷µÈ Æú´õ ¾È¿¡¼ ÆÄÀÏÀ̸§ Çϳª¸¦ °í¸£½Ê½Ã¿À: if file <> { StringLen, pos_prev, file pos_prev += 1 ; ¸¶Áö¸· ¹®ÀÚ µÚ¿¡ À§Ä¡¿¡ ¸Â°Ô Á¶ÀýÇÕ´Ï´Ù. Loop { ; ¿À¸¥ÂÊÀ¸·ÎºÎÅÍ N¹ø° ÃâÇöÀ» °Ë»öÇÕ´Ï´Ù: StringGetPos, pos, file, \, R%A_Index% if ErrorLevel break length := pos_prev - pos - 1 pos_prev := pos pos += 2 ; StringMid¿¡ »ç¿ëÇϱâ À§ÇØ Á¶Á¤ÇÕ´Ï´Ù. StringMid, path_component, file, %pos%, %length% MsgBox Path component #%a_index% (from the right) is:`n%path_component% } }