๊น๋ค๋กญ๊ธฐ๋ก ์๋ฌธ๋ ์ค์ํํธ์ ๋ฌธ์์ด์ ์กฐ๊ธ์ด๋ผ๋ ์ต์ํด์ง๊ธฐ ์ํด์ String์ ์์ฃผ ์ฐ๋, ์ ์ฉํ ํจ์๋ฅผ ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค.
https://developer.apple.com/documentation/swift/string
Apple Developer Documentation
developer.apple.com
์ฐ์ ๊ณต์ ํํ์ด์ง์ String์ ์ดํด๋ณด์๋ฉด

๊ตฌ์กฐ์ฒด์ด๊ณ , ๋ค๋ฅธ ์ธ์ด์ ๊ฐ์ด character๊ฐ ๋ชจ์ธ ์งํฉ์ด๋ค.
๋ฌธ์์ด์ ๋ฐฐ์ด๋ก
๋ฌธ์์ด์ ์์ ํ๋ํ๋๋ฅผ ๋ฐฐ์ด๋ก ๋ง๋๋ ๋ฐฉ๋ฒ์ ๊ฐ๋จํ๋ค. Array()๋ฅผ ์ฌ์ฉํด์ฃผ๋ฉด ๋๋๋ฐ ์ฝ๋ ์์ ๋ ์๋์ ๊ฐ๋ค.
let name: String = "Swift"
let arrName: = Array(name)
print(arrName) // ["S", "w", "i", "f", "t"]
๋ฌธ์์ด์ ๊ธธ์ด ๊ตฌํ๊ธฐ
๊ธธ์ด๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ด๊ณผ ๊ฐ๋ค. ๊ธธ์ด๊ฐ 0์ธ์ง์ ์ฌ๋ถ๋ฅผ ์ถ๋ ฅํ๋ ํจ์๋ ๊ฐ๋ค.
let string = "A Unicode string value that is a collection of characters."
print(string.count) // 58
let empty = ""
print(empty.isEmpty) // true
print(string.isEmpty) // false
๋ฌธ์์ด ํฉ์น๊ธฐ
๋ฌธ์์ด์ ํฉ์น๋ ๋ฐฉ๋ฒ์ ๊ฐ๋จํ๊ฒ 2๊ฐ์ง๊ฐ ์๋ค.
var str = "Swift"
str.append(" is Hard.")
print(str) // "Swift is Hard."
var str1 = "ABC"
var str2 = "DEFG"
print(str1 + str2) // "ABCDEFG"
๋ฌธ์์ด ๋ค๋ฃจ๊ธฐ ( uppercased(), lowercased(), isNumber, isLetter, isUppercase, isLowercase ... )
์๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก ๋ฐ๊พธ๊ฑฐ๋, ์ด ๋ฌธ์์ด์ ์์๊ฐ ์ซ์์ธ์ง ๋ฌธ์์ธ์ง๋ ํ์ ํ ์ ์๋ค.
let str = "lower"
print(str3.uppercased()) // "LOWER"
let str = "UPPER"
print(str4.lowercased()) // "upper"
let char = "a" as Character
print(char.isNumber) // false
print(char.isLetter) // true
print(char.isUppercase) // false
print(char.isLowercase) // true
print(char.isASCII) // true
print(char.asciiValue) // Optional(97) -> ์ธ๋ํ ํด์ค์ผ ํจ
let num = "1"
print(num.isNumber) // true
๋ฌธ์ ํ๋จ ํจ์๋ฅผ ์ฌ์ฉํ ๋ ์ฃผ์ํ ์ ์ ์์ฒ๋ผ Character ์๋ฃํ์ผ๋ก ๋ฐ๊ฟ์ค์ผ ํ๋ค. String์๋ ์ด ํจ์๋ค์ด ๋ค์ด์์ง ์๋ค.
๋ ascii ๊ฐ์ ์ป์ ๋๋ ์ต์ ๋ ๊ฐ์ผ๋ก ๋์ค๊ธฐ ๋๋ฌธ์ ์ธ๋ํ์ ํด์ค์ผ ํ๋ค.
๋ฌธ์์ด์ ์์๊ณผ ๋
์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ๋ค๋ณด๋ฉด ์ข ์ข ๋ฌธ์์ด์ ๋งจ ์ฒ์๊ณผ ๋์ ๋ค๋ฃจ๊ฒ ๋๋ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์๋ค. ๋ ๊ทธ ๋ฌธ์๊ฐ ๋ฌธ์์ด์ ์กด์ฌํ๋์ง ์ฌ๋ถ๋ ์ ์ ์๋ ํจ์๊ฐ ์๋ค.
var str = "ABCDE"
print(str.hasPrefix("A")) // ture -> ์ ๋์ด ํ๋จ
print(str.hasSuffix("E")) // ture -> ์ ๋ฏธ์ด ํ๋จ
print(str.contains("A")) // true -> ์กด์ฌ ํ๋จ
print(str.first) // Optional("A")
print(str.last) // Optional("B")
์ฌ๊ธฐ์ ๋ .first, .last ํจ์๋ฅผ ์ฌ์ฉํ ๋์๋ ์ต์ ๋ ๊ฐ์ด ์ถ๋ ฅ๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ๋ฐ๋ผ์ ์ธ๋ํ์ ํด์ค์ ์ฌ์ฉํด์ผ ํ๋ค.
๊ต์ฅํ ๊ธฐ์ด์ ์ธ ํจ์๋ค์ด์ง๋ง ์ด ํจ์๋ค์ ์๊ณ ๋ชจ๋ฅด๊ณ ์ฐจ์ด๊ฐ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํธ๋๋ฐ ์๋นํ ์ฐจ์ด๊ฐ ์์๋ค. ์ด์ธ์ ๋ค์ํ ํจ์๋ค์ด ์กด์ฌํ์ง๋ง ์ผ๋จ ์ค์ํ๋ค๊ณ ํ๋จ๋๋ ํจ์๋ค๋ง ๋ชจ์์ ์ ๋ ์์ด๋จน์ง ๋ง์๋ ์๊ฐ์ผ๋ก ์ ๋ฆฌ๋ฅผ ํด๋ณด์๋ค. ์ ๋ฆฌํ๋ฉด์ ๋๋ ๊ฑด string์ ๋ฐฐ์ด๋ก ์๊ฐํด๋ ๊ด์ฐฎ์ ๊ฒ ๊ฐ๋ค๊ณ ์๊ฐํ๋ค.