๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
IOS๐ŸŽ/iOS+Swift

[Swift] split, components ์ฐจ์ด (with: ์„ฑ๋Šฅ)

by Jouureee 2022. 4. 14.

์ฝ”ํ…Œ ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค๊ฐ€ ๋‚˜๋Š” ์™„์ „ ๋น„ํšจ์œจ์ ์œผ๋กœ ์งฐ์ง€๋งŒ ๐Ÿ˜ž

๋‹ค๋ฅธ ์‚ฌ๋žŒ ์ฝ”๋“œ ์ค‘ components()๋ฅผ ์“ด ์ฝ”๋“œ๊ฐ€ ์žˆ์–ด ์ด๊ฑด ๋ญ์ง€..? ๋ผ๋Š” ๊ถ๊ธˆ์ฆ์ด ๋“ค์—ˆ์–ด์š” !

split()ํ•จ์ˆ˜์™€ ๋น„์Šทํ•œ๊ฑฐ ๊ฐ™์€๋ฐ ์ฐจ์ด์ ์„ ์ž˜ ๋ชจ๋ฅด๊ฒ ์–ด์„œ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ตฌ ํ•ฉ๋‹ˆ๋‹ค !!

 

split()

ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋Œ€ํ•ด ์‚ดํŽด๋ด…์‹œ๋‹ค

separator : ์ชผ๊ฐค ๋‹จ์œ„

maxSpilts : ์ตœ๋Œ€ ์–ผ๋งˆ๋‚˜ ์ชผ๊ฐค์ง€ // default :  Int.max

()omittingEmptySubsequences : ๊ฒฐ๊ณผ ๊ฐ’์—์„œ ๋นˆ์‹œํ€€์Šค ํฌํ•จํ• ์ง€ false๋ผ๋ฉด ์ชผ๊ฐ  ๋ฐฐ์—ด์ด ๋นˆ ๋ฐฐ์—ด์ผ์ง€๋ผ๋„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. true๋ผ๋ฉด ๋นˆ๋ฐฐ์—ด์€ ์ƒ๋žตํ•˜๊ณ  ๋ฐ˜ํ™˜ํ•œ๋‹ค // default : true

 

return๋˜๋Š” ํƒ€์ž… : [subString]

 

Components()

ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ spilt()๋ณด๋‹ค ๊ฐ„๋‹จํ•ด๋ณด์ž…๋‹ˆ๋‹ค.separatedBy : ์ชผ๊ฐค ๋‹จ์œ„return๋˜๋Š” ํƒ€์ž… : [String]

๋‘˜ ๋‹ค ๋ฌธ์ž์—ด์„ ์„œ๋ธŒ์ŠคํŠธ๋ง์œผ๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค๋Š” ์ ์—์„œ ๊ฐ™์ง€๋งŒ split๊ฐ€ ๋” ๋งŽ์€ ๋‹ค๋“ฌ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š”๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ split()๋Š” ๊ธฐ๋ณธ ํ•จ์ˆ˜์ง€๋งŒ components()๋Š” Foundation ํ”„๋ ˆ์ž„์›Œํฌ์— ๋‚ด์žฅ๋œ ํ•จ์ˆ˜๋กœ import๋ฅผ ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค

 

๊ฐ€์žฅ ์ค‘์š”ํ•œ ์„ฑ๋Šฅ ์ฐจ์ด๊ฐ€ ๊ถ๊ธˆํ•œ๋ฐ์š” !!

(stackoverflow์˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค)

https://stackoverflow.com/questions/46344649/componentseparatedby-versus-splitseparator

 

component(separatedBy:) versus .split(separator: )

In Swift 4, new method .split(separator:) is introduced by apple in String struct. So to split a string with whitespace which is faster for e.g.. let str = "My name is Sudhir" str.components(

stackoverflow.com

 

components()๋Š” ์šฐ์„  ๋นˆ ๋ฐฐ์—ด์„ ๋ชจ๋‘ ํฌํ•จํ•˜์—ฌ returnํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์ƒ์— ์žˆ์–ด์„œ split๋ณด๋‹ค ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค๊ณ  ํ•ด์š” ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋˜๋„๋ก์ด๋ฉด spilt๋ฅผ ์“ฐ๋Š”๊ฒƒ์ด ์ข‹์„๊ฑฐ ๊ฐ™๋„ค์š” !

๋Œ“๊ธ€