StringSplit / StrSplit()

¹®ÀÚ¿­À» ÁöÁ¤µÈ ±¸ºÐÀÚ·Î °¥¶ó ºÎ¹®ÀÚ¿­ÀÇ ¹è¿­·Î ¸¸µì´Ï´Ù.

StringSplit, OutputArray, InputVar [, Delimiters, OmitChars]
Array := StrSplit(String [, Delimiters, OmitChars])  ; [v1.1.13+]

Parameters

StringSplit

OutputArray

InputVar·ÎºÎÅÍ ÃßÃâµÈ °¢ ºÎ¹®ÀÚ¿­À» ÀúÀåÇÒ ÀÇ»ç-¹è¿­ÀÇ À̸§. ¿¹¸¦ µé¾î, MyArray°¡ ÁöÁ¤µÇ¸é, ÀÌ ¸í·É¾î´Â »ý»êµÈ ºÎ¹®ÀÚ¿­ÀÇ °³¼ö¸¦ (¾øÀ¸¸é 0) MyArray0¿¡ ¹èÄ¡ÇÕ´Ï´Ù. ù ¹ø° ºÎºÐÀÚ¿­Àº MyArray1¿¡, µÎ ¹ø° ºÎ¹®ÀÚ¿­Àº MyArray2¿¡, µîµî ¹èÄ¡ÇÕ´Ï´Ù.

ÇÔ¼ö ¾È¿¡¼­, Áö¿ªÀÌ ¾Æ´Ï¶ó Àü¿ªÀûÀÎ ÀÇ»ç-¹è¿­À» »ý¼ºÇÏ·Á¸é, ÇÔ¼ö ¾È¿¡¼­ MyArray0¸¦ Àü¿ª º¯¼ö·Î ¼±¾ðÇϽʽÿÀ (Àü¿ª-°£ÁÖ ÇÔ¼ö¿¡ ´ëÇÏ¿© ±× ¹Ý´ëµµ ¸¶Âù°¡ÁöÀÔ´Ï´Ù). ±×·¸Áö¸¸, ÈçÇÑ È¥¶õÀÇ ±Ù¿ø ¶§¹®¿¡, °¢ ¿ø¼Ò¸¶´Ù µû·Îµû·Î ¼±¾ðÇØ¾ß ÇÒ °æ¿ìµµ Á¾Á¾ ÀÖ½À´Ï´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â ÇÔ¼ö¸¦ ÂüÁ¶ÇϽʽÿÀ.

InputVar

³»¿ëÀ» ºÐ¼®ÇÒ º¯¼öÀÇ À̸§. À̸§À» ÆÛ¼¾Æ® »çÀÎÀ¸·Î µÑ·¯ ½ÎÁö ¸¶½Ê½Ã¿À. ´Ü, º¯¼öÀÇ ³»¿ëÀÌ À̸§À¸·Î »ç¿ëµÇ±â¸¦ ¿øÇÏ´Â °æ¿ì¶ó¸é ¿¹¿ÜÀÔ´Ï´Ù. ÁÖÀÇ: InputVar´Â OutputArray ¾È¿¡ ÀÖ´Â º¯¼ö Áß Çϳª°¡ µÇ¾î¾ß ÇÕ´Ï´Ù.

Delimiters

ÀÌ ¸Å°³º¯¼ö°¡ ºñ¾î Àְųª »ý·«µÇ¸é, InputVarÀÇ °¢ ¹®ÀÚ´Â º°µµÀÇ ºÎ¹®ÀÚ¿­·Î °£Áֵ˴ϴÙ.

±×·¸Áö ¾ÊÀ¸¸é, Delimiters´Â Çϳª ÀÌ»óÀÇ ¹®ÀÚ¸¦ ´ã½À´Ï´Ù (´ë¼Ò¹®ÀÚ ±¸ºÐ). °¢ ±¸ºÐÀÚ´Â InputVar¿¡¼­ ºÎ¹®ÀÚ¿­ »çÀÌÀÇ °æ°è°¡ ³ªÅ¸³ª´Â °÷À» °áÁ¤ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ±¸ºÐ ¹®ÀÚµéÀº ºÎ¹®ÀÚ¿­ÀÇ ÀϺκÐÀ¸·Î °£ÁÖµÇÁö ¾Ê±â ¶§¹®¿¡, OutputArray¿¡ Àý´ë·Î º¹»çµÇÁö ¾Ê½À´Ï´Ù. ¶ÇÇÑ, InputVar ¾È¿¡¼­ ±¸ºÐÀÚ »çÀÌ¿¡ ¾Æ¹« °Íµµ ¾øÀ¸¸é, ±×¿¡ »óÀÀÇÏ´Â ¿ø¼Ò´Â ºó ¿ø¼ÒÀÔ´Ï´Ù.

¿¹¸¦ µé¾î: `, (ÇÇ½ÅµÈ ½°Ç¥)´Â ½°Ç¥°¡ ³ªÅ¸³¯ ¶§¸¶´Ù ¹®ÀÚ¿­À» ºÐ¸®ÇÕ´Ï´Ù. ºñ½ÁÇÏ°Ô, %A_Tab%%A_Space%´Â InputVar ¾È¿¡¼­ ½ºÆäÀ̽º³ª ÅÇÀ» ¸¸³¯ ¶§¸¶´Ù »õ·Î¿î ¹è¿­ ¿ø¼Ò¸¦ »ý¼ºÇÕ´Ï´Ù.

¹®ÀÚ¿­À» ¹®ÀÚ°¡ ¾Æ´Ï¶ó ±¸ºÐÀÚ·Î »ç¿ëÇÏ·Á¸é, ¸ÕÀú StringReplace¸¦ »ç¿ëÇØ ±× ¹®ÀÚ¿­ÀÌ ³ªÅ¸³ª¸é ¸ðµÎ, ÅؽºÆ®¿¡¼­ Àý´ë·Î ±âÈ£ ±×´ë·Î »ç¿ëµÇÁö ¾Ê´Â ÇϳªÀÇ ¹®ÀÚ·Î ±³Ã¼ÇϽʽÿÀ. ´ÙÀ½ ¿¹Á¦¸¦ ¿¬±¸ÇØ º¸½Ê½Ã¿À. ´ÙÀ½ ¿¹Á¦´Â ¹®ÀÚ¿­ <br>À» ±¸ºÐÀÚ·Î »ç¿ëÇÕ´Ï´Ù:

StringReplace, NewHTML, HTMLString, <br>, ``, All  ; <br>ÀÌ ³ªÅ¸³¯ ¶§¸¶´Ù ¾×¼¾Æ® ¹®ÀÚ·Î ¹Ù²ß´Ï´Ù.
StringSplit, MyArray, NewHTML, ``  ; ¾×¼¾Æ® ¹®ÀÚ¿¡ ±â¹ÝÇØ ¹®ÀÚ¿­À» °¡¸¨´Ï´Ù.

StrSplit() [v1.1.13+]

Array
(¹Ýȯ °ª)

¹®ÀÚ¿­ (°´Ã¼)ÀÇ ¹è¿­.

String

ºÐ¸®ÇÒ ¹®ÀÚ¿­.

Delimiters

ÀÌ ¸Å°³º¯¼ö°¡ ºñ¾î Àְųª »ý·«µÇ¸é, ÀÔ·Â ¹®ÀÚ¿­ÀÇ °¢ ¹®ÀÚ´Â º°µµÀÇ ºÎ¹®ÀÚ¿­·Î °£Áֵ˴ϴÙ.

±×·¸Áö ¾ÊÀ¸¸é, Delimiters´Â ´ÜÀÏ ¹®ÀÚ¿­À̰ųª ¹®ÀÚ¿­ ¹è¿­ÀÏ ¼ö ÀÖ½À´Ï´Ù. °¢ ±¸ºÐÀÚ´Â ºÎ¹®ÀÚ¿­ »çÀÌÀÇ °æ°è°¡ ³ªÅ¸³ª´Â °÷À» °áÁ¤Çϴµ¥ »ç¿ëµË´Ï´Ù. ±¸ºÐÀÚ´Â ºÎ¹®ÀÚ¿­ÀÇ ÀϺκÐÀ¸·Î °£ÁÖµÇÁö ¾ÊÀ¸¹Ç·Î, Àý´ë·Î ¹ÝȯµÈ ¹è¿­¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù. ¶ÇÇÑ, ÀÔ·Â ¹®ÀÚ¿­¿¡¼­ ±¸ºÐÀÚ ÇÑ ½Ö »çÀÌ¿¡ ¾Æ¹«°Íµµ ¾ø´Ù¸é, ±×¿¡ »óÀÀÇÏ´Â ¹è¿­ ¿ø¼Ò´Â ºó ¿ø¼ÒÀÔ´Ï´Ù.

¿¹¸¦ µé¾î: ","´Â ¹®ÀÚ¿­À» ½°Ç¥°¡ ³ªÅ¸³¯ ¶§¸¶´Ù ºÐ¸®ÇÕ´Ï´Ù. ºñ½ÁÇÏ°Ô, [A_Tab, A_Space]´Â ÀÔ·Â ¹®ÀÚ¿­¿¡¼­ ½ºÆäÀ̽º³ª ÅÇÀ» ¸¸³¯ ¶§¸¶´Ù »õ ¹è¿­ ¿ø¼Ò¸¦ »ý¼ºÇÕ´Ï´Ù.

Both

OmitChars

°¢ ¹è¿­ ¿ø¼ÒÀÇ ¾Õ°ú µÚ·ÎºÎÅÍ ¹èÁ¦ÇÒ ¹®ÀÚ¿­ÀÇ ¸®½ºÆ® (´ë¼Ò¹®ÀÚ ±¸ºÐ, ¼±ÅÃÀû). ¿¹¸¦ µé¾î, OmitChars°¡ %A_Space%%A_Tab% (StringSplit) ¶Ç´Â " `t" (StrSplit)À̸é, ½ºÆäÀ̽º¿Í ÅÇÀº ¸ðµç ¿ø¼ÒÀÇ ¾Õ°ú µÚ·ÎºÎÅÍ Á¦°ÅµË´Ï´Ù (°¡¿îµ¥´Â ¾Æ´Ô).

Delimiters°¡ ºñ¾î ÀÖÀ¸¸é, OmitChars´Â ¹è¿­·ÎºÎÅÍ ¾î´À ¹®ÀÚ¸¦ ¹èÁ¦ÇØ¾ß ÇÏ´ÂÁö¸¦ ³ªÅ¸³À´Ï´Ù.

´ëºÎºÐÀÇ ´Ù¸¥ ¸í·É¾îÀÇ ¸¶Áö¸· ¸Å°³º¯¼ö¿Í ´Ù¸£°Ô, StringSplit¿¡ ´ëÇÏ¿© OmitChars¿¡¼­ ½°Ç¥´Â ¹Ýµå½Ã ÇǽŽÃÄÑ¾ß ÇÕ´Ï´Ù (`,).

³íÆò

ÀÇ»ç ¹è¿­ÀÌ ÀÌ¹Ì Á¸ÀçÇϸé, StringSplit ¸í·É¾î´Â ¾ÕÂʺÎÅÍ N°³ÀÇ ¿ø¼ÒÀÇ °ª¸¸ º¯°æÇÕ´Ï´Ù. ¿©±â¿¡¼­ NÀº InputVar¿¡¼­ ÃâÇöÇÏ´Â ºÎ¹®ÀÚ¿­ÀÇ °³¼öÀÔ´Ï´Ù. N ¹ø° ÀÌÈÄÀÇ ¿ø¼Ò´Â º¯°æµÇÁö ¾Ê½À´Ï´Ù. ±×·¯¹Ç·Î, ¾ó¸¶³ª ¸¹Àº Ç׸ñÀÌ ½ÇÁ¦·Î ÀÌ ¸í·É¾î·Î »ý»êµÇ¾ú´Â°¡¸¦ ¾Ë¾Æ³»·Á¸é, 0 ¿ø¼Ò¸¦ »ç¿ëÇÏ´Â °ÍÀÌ °¡Àå ¾ÈÀüÇÕ´Ï´Ù (MyArray0).

½ºÆäÀ̽º¿Í ÅÇ °°Àº °ø¹é ¹®ÀÚµéÀº À¯ÁöµË´Ï´Ù. ´Ü, ±× ¹®ÀÚ ÀÚü°¡ ±¸ºÐÀÚÀ̰ųª OmitChars¿¡ Æ÷ÇԵǴ °æ¿ì´Â ¿¹¿ÜÀÔ´Ï´Ù. ÅÇ°ú ½ºÆäÀ̽º´Â Trim ÇÔ¼ö¸¦ È£ÃâÇØ º¯¼öÀÇ ¾çÂÊ ³¡À¸·ÎºÎÅÍ ´ÙµëÀ» ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î: MyArray1 := Trim(MyArray1).

Ç¥ÁØ CSV (½°Ç¥·Î °¡¸¥ °ª(comma separated value)) Çü½ÄÀÇ ¹®ÀÚ¿­À» °¡¸£·Á¸é, ÆÄ½Ì È¸µ¹À̸¦ »ç¿ëÇϽʽÿÀ. CSV 󸮰¡ ³»ÀåµÇ¾î ÀÖ½À´Ï´Ù.

¹®ÀÚ¿­À» °¡¸£±â Àü¿¡ Çʵ带 ´Ù¸¥ ¼ø¼­·Î Á¤·ÄÇÏ·Á¸é, Sort ¸í·É¾î¸¦ »ç¿ëÇϽʽÿÀ.

ºÎ¹®ÀÚ¿­À» ¸Þ¸ð¸®¿¡ ¿µ¿øÈ÷ ÀúÀåÇÒ ÇÊ¿ä°¡ ¾ø´Ù¸é, ÆÄ½Ì È¸µ¹ÀÌÀÇ »ç¿ëÀ» °í·ÁÇØ º¸½Ê½Ã¿À -- ƯÈ÷ InputVar°¡ ¸Å¿ì ¹æ´ëÇÏ´Ù¸é ²À °í·ÁÇØ º¸½Ã±â¸¦ ¹Ù¶ø´Ï´Ù. ±×·± °æ¿ì´Â ¹æ´ëÇÑ ¾çÀÇ ¸Þ¸ð¸®°¡ ÀúÀåµÉ °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¾î:

Colors = red,green,blue
Loop, parse, Colors, `,
    MsgBox Color number %A_Index% is %A_LoopField%.

°ü·Ã Ç׸ñ

ÆÄ½Ì È¸µ¹ÀÌ, ¹è¿­, Sort, SplitPath, IfInString, StringGetPos, StringMid, StringTrimLeft, StringTrimRight, StringLen, StringLower, StringUpper, StringReplace

¿¹Á¦

TestString = This is a test.
StringSplit, word_array, TestString, %A_Space%, .  ; Á¡Àº Á¦¿ÜÇÕ´Ï´Ù.
MsgBox, The 4th word is %word_array4%.

Colors = red,green,blue
StringSplit, ColorArray, Colors, `,
Loop, %ColorArray0%
{
    this_color := ColorArray%a_index%
    MsgBox, Color number %a_index% is %this_color%.
}
TestString := "This is a test."
word_array := StrSplit(TestString, A_Space, ".")  ; Á¡Àº Á¦¿ÜÇÕ´Ï´Ù.
MsgBox % "The 4th word is " word_array[4]

Colors := "red,green,blue"
ColorArray := StrSplit(Colors, ",")
Loop % ColorArray.MaxIndex()
{
    this_color := ColorArray[a_index]
    MsgBox, Color number %a_index% is %this_color%.
}