์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- AVAudioPlayer
- mongoose
- Firestore CRUD
- ํ๋ก๊ทธ๋๋จธ์ค
- UIRefreshController
- nodejs
- Codable
- Figma
- Firestore
- components
- CRUD
- String.Index
- Decodable
- RxSwift
- ios
- SWiFT
- MongoDB
- Mac
- ์ง๋ฒ๋ณํ
- Filter
- DispatchQueue
- ExpressJS
- Cloud Firestore
- ์ฑ๋ง๋ค๊ธฐ
- Reduce
- ์ฑ๋์์ธ
- ์๊ณ ๋ฆฌ์ฆ
- map
- Core Data
- Encodable
- Today
- Total
Focus On Develop ๐ค๐ค
[Swift] String.components ๋ณธ๋ฌธ
์์ธ ๋ด์ฉ : components | Apple Document
์ด๊ฑธ ์ ์ด์ ์์์ง..?? ใ ใ ๊ทธ๋์ ๊ณต๋ถ ๋๋ฌด ์ํ๊ฑฐ ๋ค ํฐ๋ ๋ฒ๋ ธ์ฅฌ ~~~ ๐ ๐
๋ฌธ์์ด์ ํน์ String ๊ธฐ์ค์ผ๋ก ๋๋ ์ NSArray ํ์ ์ผ๋ก ๋ง๋ค์ด์ฃผ๋ ๋ฉ์๋ ๋ผ๊ณ ํ๋ค.
์ญ์ ์ดํดํ๋๋ฐ๋ ์์ ๋ณด๋ฉด์ ๊ณต๋ถํ๋๊ฒ ์ ์ผ ๋น ๋ฅด๊ฒ ์ฃ ~~~!?
let string = "hello? my name@ is kt!!"
print(string.components(separatedBy: "na")) // ["hello? my ", "me@ is kt!!"]
print(string.components(separatedBy: "!")) // ["hello? my name@ is kt", "", ""]
print(string.components(separatedBy: "!").count) // 3
print(string.components(separatedBy: "?")) // ["hello", " my name@ is kt!!"]
์ด๊ฑธ ๋ณด๋ฉด separator๋ฅผ ๊ธฐ์ค์ผ๋ก separator๋ ๋ ๋ ค๋ฒ๋ฆฌ๊ณ , ๋ฌธ์์ด์ ๋ฐฐ์ด์ ๊ฐ ์์๋ก ๋๋ ์ค ๊ฒ์ ํ์ธ ํ ์ ์๋ค. ์ฌ๊ธฐ์ ๋์ฌ๊ฒจ ๋ณผ๋งํ ์ ์ "hello? my name@ is kt!!" ์ฌ๊ธฐ์ separator๋ฅผ "!" ๋ก ์ง์ ํ์๋, ํน๋ณํ ๋ถ๋ฆฌํด์ค ๋ฌธ์๊ฐ ์๋๋ผ๋ ๋ฐฐ์ด์ ์์๋ก "" ๋น string๊ฐ์ ๋ฃ๋๋ค. ์..? ์ ๋์ฌ๊ฒจ ๋ดค๋์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์ธ์ ๊ฐ ๋ ์ฌ๋ฆด ๊ฒ ๊ฐ๋ค. ใ ใ ๐
components๋ฅผ ์ ์ฉํ๊ฒ์์ .count๋ฅผ ํด๋ณด๋ฉด ๋๋ ์ง ์์์ ๊ฐฏ์ (๋ฐฐ์ด์ ์นด์ดํธ์ ๋์ผํ์ฃ ~) ์์ ์ ์ ์๋๋ฐ.. ์ด๋ง์ ์ฆ์จ ์ด๋ค ๋ฌธ์์ด์์ ํน์ ๋จ์ด, ํน์ ๋ฌธ์ํจํด ๋ฑ์ด ์ฃผ์ด์ก์๋ ์ด๊ฒ ๋ช๊ฐ๋ ์๋์? ๋ผ๊ณ ํ์๋, components๋ก ๋ถ๋ฆฌํ ํ์ -1์ ํด์ฃผ๋ฉด ์ฐพ์ ์ ์๊ฒ ๋ค. (๋์ค์ ์ํ ์ฐธ๊ณ ใ ใ )
๊ทธ๋ฐ๋ฐ ๋ง์ฝ ์ ๋ ๊ฒ ๋๋ ์ง ๋ฐฐ์ด์ ๋ค์ ๋ฌธ์๋ก ๋ง๋ค๊ณ ์ถ๋ค๋ฉด?? (Array, Set, Dictionary ๋ฑ Sequence์ ๋ชจ๋ ์ ์ฉ)
let newString = string.components(separatedBy: "n").joined()
let newStringSeparator = string.components(separatedBy: "n").joined(separator: "^")
print(newString) // hello? my ame@ is kt!!
print(newStringSeparator) // hello? my ^ame@ is kt!!
์ด๋ ๊ฒ joined()๋ฅผ ์ฌ์ฉํด์ฃผ๋ฉด ๋๋ค. ๋ฌธ์์ด๋ก ํฉ์น ๋ ๋ญ๊ฐ๋ฅผ ๋ฃ๊ณ ์ถ์ผ๋ฉด..!? joined(separator: ) ๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋น~~
๊ทธ๋ฆฌ๊ณ ์ด๊ฑด ๊ฐ์๊ธฐ ๋ฌธ๋ ๊ถ๊ธํด์..? ๋ง์ฝ ๋ฌธ์์ด์ ์, ๋ค ๊ณต๋ฐฑ์ ์ง์ฐ๊ณ ์ถ์ผ๋ฉด ์ด์ฉ์ฃ !?!?!?
๋ค๋ฅธ ์ธ์ด๋ค์ฒ๋ผ .trim() ๋ฉ์๋๋ฅผ ์ ๊ณตํ๋์!?!?!? ๋ค!!!!! trimmingCharacters ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค!!!
let whiteSpace = " hello my name "
print(whiteSpace.trimmingCharacters(in: [" "])) // "hello my name"
print(whiteSpace.trimmingCharacters(in: .whitespacesAndNewlines)) // "hello my name"
let trimCharacter = "#hello my name@@"
print(trimCharacter.trimmingCharacters(in: ["#"])) // "hello my name@@"
print(trimCharacter.trimmingCharacters(in: ["#", "@"])) // "hello my name"
๊ณต๋ฐฑ ๋ฟ๋ง ์๋๋ผ, ์ํ๋ Character Set์ ๋ฑ๋กํด์ trimming ํ๋๊ฒ ๊ฐ๋ฅํ๋ค! ๐๐
ํนํ defaults๋ก ์ง์ ๊ฐ๋ฅํ Property์๋ whitespacesAndNewlines, decimalDigits, lowercaseLetters ๋ฑ๋ฑ ๋ค์ํ๊ฒ ์ง์ ํ ์ ์์ผ๋ ์ฐธ๊ณ ํด์ผ๊ฒ ๋ค!
'iOS [Swift] > ๊ธฐ์ด๋ฅผ ํํํ!' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] Core Data(2) ์ค์ตํด๋ณด๊ธฐ (0) | 2020.12.21 |
---|---|
[Swift] Core Data(1) ๊ฐ๋ ์ ๋ฆฌ (0) | 2020.12.21 |
[Swift] String.Index (0) | 2020.12.17 |
[Swift] String Radix๋ฅผ ํตํ ์ง๋ฒ๋ณํ (0) | 2020.12.16 |
[Swift] enumerated() (0) | 2020.12.16 |