¹®ÀÚ¿·ÎºÎÅÍ ºÎ¹®ÀÚ¿(Çʵå)¸¦ ÇÑ ¹ø¿¡ Çϳª¾¿ ¿¶÷ÇÕ´Ï´Ù.
Loop, Parse, InputVar [, Delimiters, OmitChars]
ÀÌ °³º¯¼ö´Â ´Ü¾î PARSE¸¸ µË´Ï´Ù. ´Ù¸¥ ȸµ¹ÀÌ À¯Çü°ú ´Ù¸£°Ô, º¯¼ö ÂüÁ¶´Â ´Ü¾î PARSE·Î °áÁ¤µÈ´Ù°í ÇÒÁö¶óµµ Çã¿ëÇÏÁö ¾Ê½À´Ï´Ù.
³»¿ëÀ» ºÐ¼®ÇÒ º¯¼öÀÇ À̸§. À̸§À» ÆÛ¼¾Æ® »çÀÎÀ¸·Î µÑ·¯ ½ÎÁö ¸¶½Ê½Ã¿À. º¯¼öÀÇ ³»¿ëÀ» À̸§À¸·Î »ç¿ëÇÏ°í ½Í´Ù¸é ¿¹¿ÜÀÔ´Ï´Ù.
[v1.1.21+]: ÀÌ ¸Å°³º¯¼ö´Â % Ç¥Çö½Ä
ÀÌ µÉ ¼ö ÀÖÁö¸¸, ÆÛ¼¾Æ®-½ºÆäÀ̽º Á¢µÎ»ç°¡ ¹Ýµå½Ã »ç¿ëµÇ¾î¾ß ÇÕ´Ï´Ù.
ÀÌ ¸Å°³º¯¼ö°¡ ºñ¾î Àְųª »ý·«µÇ¸é, InputVarÀÇ °¢ ¹®ÀÚ´Â º°µµÀÇ ºÎ¹®ÀÚ¿·Î °£Áֵ˴ϴÙ.
ÀÌ ¸Å°³º¯¼ö°¡ CSVÀ̸é, InputVar´Â Ç¥ÁØÀÇ ½°Ç¥·Î °¡¸¥ °ª Çü½ÄÀ¸·Î Çؼ®µË´Ï´Ù. ´ÙÀ½Àº CSVÁÙÀÇ ¿¹·Î¼ MS Excel·Î »ý»êÇß½À´Ï´Ù:
"first field",SecondField,"the word ""special"" is quoted literally",,"last field, has literal comma"
±×·¸Áö ¾ÊÀ¸¸é, Delimiters¿¡´Â Çϳª ÀÌ»óÀÇ ¹®ÀÚ°¡ ´ã±é´Ï´Ù (´ë¼Ò¹®ÀÚ ±¸º°), °¢ ¹®ÀÚ¸¶´Ù InputVar¿¡¼ ºÎ¹®ÀÚ¿ÀÌ ÀϾ´Â °æ°è¸¦ °áÁ¤ÇÕ´Ï´Ù.
Delimiter ¹®ÀÚµéÀº ºÎ¹®ÀÚ¿ ÀÚüÀÇ ÀϺηΠ°£ÁÖµÇÁö ¾Ê½À´Ï´Ù. ¶Ç, InputVar ¾È¿¡¼ ÇÑ ½ÖÀÇ ±¸ºÐÀÚ »çÀÌ¿¡ ¾Æ¹«°Íµµ ¾ø´Ù¸é, »óÀÀÇÏ´Â ¹®ÀÚ¿Àº ºñ¾î ÀÖ½À´Ï´Ù.
¿¹¸¦ µé¾î: `,
(ÇÇ½ÅµÈ ½°Ç¥)´Â ¹®ÀÚ¿À» ½°Ç¥°¡ ÃâÇöÇÒ ¶§¸¶´Ù °¡¸¨´Ï´Ù. ºñ½ÁÇÏ°Ô, %A_Tab%%A_Space%
´Â InputVar¿¡¼ ½ºÆäÀ̽º³ª ÅÇÀ» ¸¸³¯ ¶§¸¶´Ù »õ ¹®ÀÚ¿À» ½ÃÀÛ½Ãŵ´Ï´Ù.
¹®ÀÚ Çϳª°¡ ¾Æ´Ï¶ó ¹®ÀÚ¿À» ±¸ºÐÀÚ·Î »ç¿ëÇÏ·Á¸é, ¸ÕÀú StringReplace¸¦ »ç¿ëÇØ ÇØ´ç ¹®ÀÚ¿ÀÌ ³ªÅ¸³ª¸é ¸ðµÎ ÅؽºÆ®¿¡¼ Àý´ë·Î ¹®ÀÚ ±×´ë·Î »ç¿ëµÇÁö ¾Ê´Â ¹®ÀÚ Çϳª·Î ±³Ã¼ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ´ÙÀ½ÀÇ Æ¯¼ö ¹®ÀÚµé Áß Çϳª: ¢¤¥¦§©ª«®µ¶
. ´ÙÀ½ ¿¹Á¦¸¦ ¿¬±¸ÇØ º¸½Ê½Ã¿À. ¹®ÀÚ¿ <br>À» ±¸ºÐÀÚ·Î »ç¿ëÇÕ´Ï´Ù:
StringReplace, NewHTML, HTMLString, <br>, ¢, All Loop, parse, NewHTML, ¢ ; ¼¾Æ® ½Éº¼¿¡ ±â¹ÝÇÏ¿© ¹®ÀÚ¿À» Çؼ®ÇÕ´Ï´Ù. { ... }
°¢ ºÎ¹®ÀÚ¿ÀÇ ¼±µÎ¿Í ÈĹ̿¡¼ ¹èÁ¦ÇÒ ¹®ÀÚÀÇ (¼±ÅÃÀû) ¸®½ºÆ® (´ë¼Ò¹®ÀÚ ±¸ºÐ). ¿¹¸¦ µé¾î, OmitChars°¡ %A_Space%%A_Tab%À̸é, ½ºÆäÀ̽º¿Í ÅÇÀÌ ¿¶÷µÈ ¸Å ºÎ¹®ÀÚ¿·ÎºÎÅÍ ¼±µÎ¿Í ÈĹ̿¡¼ Á¦°ÅµË´Ï´Ù (°¡¿îµ¥´Â ¾Æ´Ô).
Delimiters°¡ ºñ¾î ÀÖÀ¸¸é, OmitChars´Â °í·Á ´ë»ó¿¡¼ ¹èÁ¦ÇÒ ¹®ÀÚµéÀ» °¡¸®Åµ´Ï´Ù (ȸµ¹ÀÌ´Â ±×·± ¹®ÀÚµéÀ» º¸Áö ¸øÇÕ´Ï´Ù).
´ëºÎºÐÀÇ ´Ù¸¥ ¸í·É¾îÀÇ ¸¶Áö¸· ¸Å°³º¯¼ö¿Í ´Ù¸£°Ô, OmitChars¿¡¼ ½°Ç¥´Â ¹Ýµå½Ã ÇǽŽÃÄÑ¾ß ÇÕ´Ï´Ù (`,).
¹®ÀÚ¿ ÆÄ½Ì È¸µ¹ÀÌ´Â ¹®ÀÚ¿¿¡ µé¾î ÀÖ´Â °¢ Çʵ带 ÇÑ ¹ø¿¡ Çϳª¾¿ ó¸®ÇÒ ¶§ À¯¿ëÇÕ´Ï´Ù. (StringSplitÀº ¿µ±¸ÀûÀÎ ÀÇ»ç-¹è¿À» »ý¼ºÇϱ⠶§¹®¿¡) ÆÄ½Ì È¸µ¹ÀÌ´Â StringSplit º¸´Ù ¸Þ¸ð¸®¸¦ ´ú »ç¿ëÇÏ°í ´ëºÎºÐÀÇ °æ¿ì ´õ »ç¿ëÇϱ⠽±½À´Ï´Ù.
³»Àå º¯¼ö A_LoopField´Â ¸ðµç ÆÄ½Ì È¸µ¹ÀÌ ¾È¿¡ Á¸ÀçÇÕ´Ï´Ù. ¾È¿¡ InputVar·ÎºÎÅÍ ÆĽÌÇÑ ÇöÀçÀÇ ºÎ¹®ÀÚ¿(Çʵå)°¡ µé¾î ÀÖ½À´Ï´Ù. ³»ºÎ ÆÄ½Ì È¸µ¹ÀÌ°¡ ¹Ù±ù ÆÄ½Ì È¸µ¹ÀÌ·Î µÑ·¯ ½Î¿© ÀÖ´Ù¸é ³»ºÎ ȸµ¹ÀÌÀÇ Çʵ尡 ¿ì¼± ¼øÀ§°¡ ³ô½À´Ï´Ù.
³»Àå º¯¼ö "A_LoopDelimiter"´Â ÀüÇô ¾øÁö¸¸, ÀÌ ÆäÀÌÁö ¸Ç ¾Æ·¡ ¿¹Á¦´Â °¢ Çʵ帶´Ù ¾î´À ±¸ºÐÀÚ¸¦ »ç¿ëÇÏ°í ÀÖ´Â º¸¿©ÁÝ´Ï´Ù.
InputVarÀÇ Å©±â ¶Ç´Â ±×ÀÇ ÇʵåÀÇ Å©±â¿¡´Â Á¦ÇÑÀÌ ¾ø½À´Ï´Ù. °Ô´Ù°¡, InputVarÀÇ ³»¿ëÀÌ È¸µ¹À̸¦ ½ÇÇàÇÏ´Â µ¿¾È¿¡ ¹Ù²ï´Ù¸é, ±× ȸµ¹ÀÌ´Â ±× º¯È¸¦ "º¸Áö ¸øÇÕ´Ï´Ù". ¿Ö³ÄÇÏ¸é ¿ø·¡ ³»¿ëÀÇ Àӽà »çº»À» ó¸®ÇÏ°í Àֱ⠶§¹®ÀÔ´Ï´Ù.
Çؼ®Çϱâ Àü¿¡ Çʵ带 ´Ù¸¥ ¼ø¼·Î Á¤µ·ÇÏ·Á¸é, Sort ¸í·É¾î¸¦ »ç¿ëÇϽʽÿÀ.
Blocks, Break, Continue, ±×¸®°í A_Index º¯¼ö (¸ðµç ȸµ¹ÀÌ¿¡ Á¸Àç)¿¡ °üÇÑ Á¤º¸´Â Loop¸¦ ÂüÁ¶ÇϽʽÿÀ.
StringSplit, file-reading loop, Loop, Break, Continue, Blocks, Sort, FileSetAttrib, FileSetTime
; ¿¹Á¦ #1: Colors = red,green,blue Loop, parse, Colors, `, { MsgBox, Color number %A_Index% is %A_LoopField%. }
; ¿¹Á¦ #2: º¯¼ö ¾È¿¡ ÁÙµéÀ» Çϳª¾¿ ÀÐ¾î µéÀÔ´Ï´Ù (ÆÄÀÏ-Àбâ ȸµ¹ÀÌ¿Í À¯»ç). ; FileRead¸¦ ÅëÇÏ¿© ÆÄÀÏÀ» º¯¼ö ¾È¿¡ ÀûÀçÇÒ ¼ö ÀÖ½À´Ï´Ù: Loop, parse, FileContents, `n, `r ; `nÀ» ¸ÕÀú `rÀ» ´ÙÀ½¿¡ ÁöÁ¤ÇØ¾ß Windows¿Í Unix ÆÄÀÏÀ» ¸ðµÎ Çؼ®ÇÒ ¼ö ÀÖ½À´Ï´Ù. { MsgBox, 4, , Line number %A_Index% is %A_LoopField%.`n`nContinue? IfMsgBox, No, break }
; ¿¹Á¦ #3: À§ÀÇ ¿¹Á¦¿Í °°Áö¸¸ Ŭ¸³º¸µå¿ëÀÔ´Ï´Ù. ; Ŭ¸³º¸µå¿¡ ÆÄÀÏÀÌ ´ã°Ü ÀÖÀ» ¶§ À¯¿ëÇÕ´Ï´Ù. ±×·± ÆÄÀÏÀº º¸Åë Ž»öâÀ¸·ÎºÎÅÍ º¹»çµË´Ï´Ù ; (ÇÁ·Î±×·¥Àº ÀÚµ¿À¸·Î ±×·± ÆÄÀÏÀ» ±×µéÀÇ ÆÄÀÏ À̸§À¸·Î º¯È¯ÇÕ´Ï´Ù): Loop, parse, clipboard, `n, `r { MsgBox, 4, , File number %A_Index% is %A_LoopField%.`n`nContinue? IfMsgBox, No, break }
; Example #4: ½°Ç¥·Î °¡¸¥ °ª (CSV) ÆÄÀÏÀ» Çؼ®ÇÕ´Ï´Ù: Loop, read, C:\Database Export.csv { LineNumber = %A_Index% Loop, parse, A_LoopReadLine, CSV { MsgBox, 4, , Field %LineNumber%-%A_Index% is:`n%A_LoopField%`n`nContinue? IfMsgBox, No return } }
; ¿¹Á¦ #5: ¾î´À ±¸ºÐÀÚ¿¡ ¸¶ÁÖÇß´ÂÁö ¾Ë¾Æ³»±â. ; °Ë»öÇÒ ¹®ÀÚ¿À» ÃʱâÈ ÇÕ´Ï´Ù. Colors = red,green|blue;yellow|cyan,magenta ; ¹®ÀÚ¿¿¡¼ À§Ä¡¸¦ ÃßÀûÇÒ °è¼ö¸¦ ÃʱâÈÇÕ´Ï´Ù. Position := 0 Loop, Parse, Colors, `,|; { ; ÀÌ ÇʵåÀÇ ³¡¿¡¼ ±¸ºÐÀÚÀÇ À§Ä¡¸¦ °è»êÇÕ´Ï´Ù. Position += StrLen(A_LoopField) + 1 ; Çؼ® ȸµ¹ÀÌ°¡ ¹ß°ßÇÑ ±¸ºÐÀÚ¸¦ ¿¶÷ÇÕ´Ï´Ù. Delimiter := SubStr(Colors, Position, 1) MsgBox Field: %A_LoopField%`nDelimiter: %Delimiter% }