Character
//String์ด๋ค. ํฐ ํ์ดํ์ ํฌํจ๋ ๋ฌธ์์์ ๊ด๊ณ์์ด ํญ์ ๋ฌธ์์ด๋ก ์ถ๋ก ๋๋ค.
"C"
//๋ง์ฝ ๋ฌธ์๋ก ์ฒ๋ฆฌํ๊ณ ์ถ๋ค๋ฉด ๋ช
์์ ์ผ๋ก ์ ์ธ
let c: Character="C"
//ํฐ ๋ฐ์ดํ ์ฌ์ด์ ์๋ฌด๋ฐ ๋ฌธ์๋ ํฌํจ๋์ด ์์ง ์๋ค๋ฉด ํญ์ ๋ฌธ์์ด
""
//๋น ๋ฌธ์๋ฅผ ์บ๋ฆญํฐ ํ์
์ ์ ์ฅํ ๋ ๋ฐ๋์ ๊ณต๋ฐฑ ์ถ๊ฐ
let b: Character=" "
append & appending
//append๋ ๋ฆฌํด ํ์
์ด ์์ ๊ฐ์ ๋ฆฌํดํ์ง ์๋๋ค, ๋์ ๋ฌธ์์ด์ ๋ฐ๋ก ์ฐ๊ฒฐ
//appending๋ ์คํธ๋ง ํ์
์ ๋ฆฌํด ํ๋ค, ์ง์ ์ฐ๊ฒฐํ๋ ๊ฒ์ด ์๋๋ผ ์๋ก์ด ๋ณต์ฌ๋ณธ์
//๋ง๋ค์ด์ ์ฐ๊ฒฐํ ๋ค์์ ๋ณต์ฌ๋ณธ ๋ฆฌํด
//let์ผ๋ก ์ ์ธํ๋ฉด ์๋ณธ ๋ฌธ์์ด์ ๋ณ๊ฒฝํ ์ ์๋ค.
let str = "Hello"
str.append("Swift")
//์๋ณธ์ ๋ฐ๊พธ๋ ค๋ฉด ๋ฐ๋์ ๋์์ var๋ก ์ ์ธํด์ผ ํจ
//var๋ก ์ ์ธํด์ผ ํจ
var str = "Hello"
str.append("Swift")
print(str)
//HelloSwift
var str = "Hello"
let s = str.appending("Swift")
print(str)
print(s)
//Hello
//HelloSwift
//์๋ก์ด ๋ณต์ฌ๋ณธ ๋ง๋ค์ด์ ํฌ๋งท์ ๋ง๊ฒ
let s = "File size: ".appendingFormat("%.1f", 12.345)
print(s)
//File size: 12.3
String Interpolation : \(expr)
var str = "12.34KB"
let size = 12.34
str = String(size)+"KB"
print(str)
//12.34KB
var str = "12.34KB"
let size = 12.34
str = "\(size)KB"
print(str)
//12.34KB
Format : %char
let size = 12.34
// %.5f ํฌ๋งท์ง์ ์, .5๋ ์์์ ๋ค์ฏ์๋ฆฌ, f๋ ์ค์
//size์ ์ ์ฅ๋์ด ์๋ ๊ฐ์ด %.5f๋ฅผ ๋์ฒดํ๋ค.
print(String(format: "%.5fKB", size))
//12.34000KB
String Indices
- ์ธ๋ฑ์ค์ ๋ฒ์๋ฅผ ์ด๊ณผํ์ง ์๋๋ก if๋ guard๋ก ํ์ธํ๋ ๊ฒ์ด ์ข์
//์ฒซ๋ฒ์งธ ๋ฌธ์์ ์ธ๋ฑ์ค
let str = "Swift"
str.startIndex // ํ์
์ String.Index
print(str[str.startIndex])
//S
//์๋ฌ ๋ฐ์, endIndex๋ ๋ง์ง๋ง ์ธ๋ฑ์ค+1 ์ด๊ธฐ ๋๋ฌธ์ ์ธ๋ฑ์ค ๋ฒ์๋ฅผ ๋ฒ์ด๋จ
let str = "Swift"
let lastCh = str[str.endIndex]
print(lastCh)
//๋ง์ง๋ง ๋ฌธ์์ ์ธ๋ฑ์ค๋ฅผ ์ป๊ธฐ ์ํด์๋ index before๋ผ๋ ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ผ ํจ
let str = "Swift"
let lastCharIndex = str.index(before:str.endIndex)
let lastCh = str[lastCharIndex]
print(lastCh)
//t
//๋๋ฒ์งธ ๋ฌธ์
let str = "Swift"
let secondCharIndex = str.index(after:str.startIndex)
let secondCh = str[secondCharIndex]
print(secondCh)
//w
//์ธ๋ฒ์งธ ๋ฌธ์
let str = "Swift"
var thirdCharIndex = str.index(str.startIndex, offsetBy: 2)
var thirdCh = str[thirdCharIndex]
print(thirdCh)
//i
//์ธ๋ฒ์งธ ๋ฌธ์
let str = "Swift"
var thirdCharIndex = str.index(str.endIndex, offsetBy: -3)
var thirdCh = str[thirdCharIndex]
print(thirdCh)
//i
//์ธ๋ฑ์ค ์ด๊ณผ ๋ฐฉ์ง
if thirdCharIndex < str.endIndex && thirdCharIndex >= str.startIndex{
}
String Basic
//ํน์ ๋ฌธ์ ๋ฐ๋ณต
let repeatStr = String(repeating: "0", count: 5)
print(repeatStr)
//00000
//์์ฑ์, ํจ์์ฒ๋ผ ํธ์ถ, ๋ค๋ฅธ ํ์
์ ๊ฐ์ ๋ฌธ์์ด๋ก
let a = String(true)
print(a)
//true
๋ฌธ์์ด
//์ง์ ๋ณํ
let hex = String(123, radix: 16)
print(hex)
//7b
//๋ฌธ์์ด์ + ์ฐ์ฐ์๋ก ๋ถ์ผ ์ ์๋ค.
let hex = String(123, radix: 16)
let a="ture"
print(hex+a)
//7bture
//๋ฌธ์์ด ๊ธธ์ด
let str = "Hello"
print(str.count)
//5
//๋น์ด์๋์ง ํ์ธ
let str = "Hello"
print(str.isEmpty)
//false
//๋ฌธ์์ด ๋์ผ์ฑ ๋น๊ต
let str = "Hello"
print(str == "Apple")
//false
print("apple" != "Apple") //๋์๋ฌธ์ ๊ตฌ๋ถํด์ ๋น๊ต
//true
//๋น๊ต์ฐ์ฐ
print("apple" < "Apple")
//false
//์๋ฌธ์a์ ์ฐ๊ฒฐ๋ ์ซ์๊ฐ ๋๋ฌธ์ A์ ์ฐ๊ฒฐ๋ ์ซ์๋ณด๋ค ํฌ๋๊น false ๋ฆฌํด
//์ฐ๊ฒฐ๋ ์ซ์๋ฅผ ์๊ณ ์ถ๋ค๋ฉด ์์คํค ์ฝ๋ ๊ฒ์
//ed๋ก ๋๋๋ ๊ฒ์ ํญ์ ์๋ณธ์ ๊ทธ๋๋ก ๋๊ณ ์๋ก์ด ๊ฐ์ ๋ฆฌํด
let str = "Hello"
print(str.lowercased()) //๋ชจ๋ ๋ฌธ์๋ฅผ ์๋ฌธ์๋ก ๋ณํํด์ ๋ฆฌํด
//hello
let str = "Hello"
print(str.uppercased()) //๋ชจ๋ ๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก ๋ณํํด์ ๋ฆฌํด
let str = "hello, swift"
print(str.capitalized) // ์ด์ ์ ์ฒซ๋ฒ์งธ ๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก ๋๋จธ์ง๋ ์๋ฌธ์๋ก
//Hello, Swift
์ด๊ฑฐ
let str = "hello, swift"
for char in str{
print(char)
}
/*
h
e
l
l
o
,
s
w
i
f
t
*/
//๋ฌธ์์ด์์ ๋๋ค์ผ๋ก ์๋ฌด๊ฑฐ๋ ํ๋ ๋ฝ์
let num = "1234567890"
print(num.randomElement())
//Optional("9")
//๋ฌธ์์ด์ ์๋ ๋ฌธ์๋ก ๋๋ค ๋ฐฐ์ด
let num = "1234567890"
print(num.shuffled())
//["2", "8", "0", "1", "4", "3", "9", "7", "5", "6"]
//์์ฑ์๋ก ์ ๋ฌํ๋ฉด ๋๋ค ๋ฌธ์์ด
print(String(num.shuffled()))
//2804569731
์ฝ์
var str = "Hello Swift"
str.insert(",", at: str.index(str.startIndex,offsetBy: 5))
print(str)
//Hello, Swift
var str = "Hello Swift"
//firstIndex๋ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌํ ๋ฌธ์๊ฐ ์ฒซ๋ฒ์งธ๋ก ๋์ค๋ ์ธ๋ฑ์ค๋ฅผ ๋ฆฌํด, ๊ฒฐ๊ณผ๊ฐ ์์ผ๋ฉด nil
if let sIndex = str.firstIndex(of: "S"){
str.insert(contentsOf: "Awesome", at: sIndex)
}
print(str)
//Hello, AwesomeSwift
๊ต์ฒด
var str = "Hello, Objective-C"
//ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌํ ๋ฌธ์์ด์ ๊ฒ์ํ ๋ค์์ ๋ฒ์๋ฅผ ๋ฆฌํด, ์์ผ๋ฉด nil
if let range = str.range(of: "Objective-C"){
//์ฒซ๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌํ ๋ฒ์๋ฅผ ๋๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌํ ๋ฌธ์์ด๋ก ๊ต์ฒด
str.replaceSubrange(range, with: "Swift")
}
print(str)
//Hello, Swift
if let range = str.range(of: "Hello"){
//์ฒซ๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ๊ฟ ๋ฒ์๋ฅผ ์ ๋ฌํ๊ณ ๋๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ๊ฟ ๋ฌธ์์ด์ ์ ๋ฌ
let s = str.replacingCharacters(in: range, with: "Hi")
print(s)
print(str)
}
//์ด๋ฆ์ด ing๋ผ์ ์๋ณธ์ ๋ฐ๊พธ์ง ์๋๋ค. str์๋ ์ฌ์ ํ Hello, Swift ์ ์ฅ๋์ด ์์
//Hi, Swift
//Hello, Swift
//ing๋ผ์ ์๋ณธ์ ๋ฐ๊พธ์ง ์์
var s = str.replacingOccurrences(of: "Swift", with: "Awesome Swift")
print(s)
//Hello, Awesome Swift
//์คํธ๋ง ํ์
์ด ์ ๊ณตํ๋ ๋๋ถ๋ถ์ ๋ฉ์๋๋ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถ, ๊ทธ๋์ ์๋ณธ์์ swift ๊ฒ์ ๋ชปํ ๊ฒ
//์ด๋๋ ์๋ณธ์ ๊ทธ๋๋ก ๋ฆฌํดํ๊ณ ๊ทธ๋ฅ ๊ฑฐ๊ธฐ์ ๋๋
var s = str.replacingOccurrences(of: "swift", with: "Awesome Swift")
print(s)
//Hello, Swift
//๋์๋ฌธ์ ๋ฌด์ํ๊ณ ์คํ
var s = str.replacingOccurrences(of: "swift", with: "Awesome Swift", options: [.caseInsensitive])
print(s)
//Hello, Awesome Swift
์ญ์
var str = "Hello, Awesome Swift!!!"
let lastCharIndex=str.index(before:str.endIndex)
var removed = str.remove(at: lastCharIndex) //๋
ผ์ต์
๋์ด๋ผ ์๋ชป๋ ์ธ๋ฑ์ค ์ฃผ์ง ์๋๋ก ์กฐ์ฌ
print(removed)
print(str)
//!
//Hello, Awesome Swift!!
//์ฒซ๋ฒ์งธ ๋ฌธ์๋ฅผ ์ญ์ ํ๊ณ ์ญ์ ํ ๋ฌธ์๋ฅผ ๋ฆฌํด, ๋
ผ์ต์
๋
removed=str.removeFirst()
print(removed)
print(str)
//H
//ello, Awesome Swift
//์ญ์ ํ ๋ฌธ์๋ฅผ ๋ฆฌํดํ์ง ์์
str.removeFirst(2) //์์ ์์น์์ ๋ฌธ์ 2๊ฐ๋ฅผ ์ญ์
print(str)
//lo, Awesome Swift!!
str.removeLast()// ๋ ๋๋๋ ์์น ์ญ์
var str = "Hello, Awesome Swift!!!"
if let range = str.range(of:"Awesome"){
str.removeSubrange(range) //์๋ณธ์์ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌํ ๋ฒ์๋ฅผ ์ญ์
print(str)
}
//Hello, Swift!!!
//๋ฌธ์์ด์์ ๋ชจ๋ ๋ฌธ์์ด ์ญ์ ํ๊ณ ๋น ๋ฌธ์์ด๋ก ๋ง๋ ๋ค.
//ํ๋ผ๋ฏธํฐ ์์ด ํธ์ถํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ๋ ์ญ์
var str = "Hello, Awesome Swift!!!"
str.removeAll()
print(str)
//
//๋ง์ฝ ์ด๊ธฐํ ํ ๋ค์์ ๋น์ทํ ๊ธธ์ด์ ๋ฌธ์์ด์ ๋ค์ ์ ์ฅํ๋ค๋ฉด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ์ ์งํ๋๊ฒ ์ข์
//๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ์ญ์ ํ์ง ์์์ ๋ถํ์ํ ๋ฉ๋ชจ๋ฆฌ ์ค๋ฒํค๋๋ฅผ ๋ง๋๋ค
str.removeAll(keepingCapacity: true)
var str = "Hello, Awesome Swift!!!"
//์๋ณธ ๋ฌธ์์ด์์ ๋ง์ง๋ง ๋ฌธ์๋ฅผ ๋บ ์๋ธ๋ฌธ์์ด ๋ฆฌํด, ์๋ก์ด ๋ฌธ์์ด ๋ฆฌํด์ด ์๋๋ผ ์๋ณธ์์ ํด๋น ๋ฒ์๋ง ๊ณต์
var substr = str.dropLast()
print(substr)
//Hello, Awesome Swift!!
var str = "Hello, Awesome Swift!!!"
//๋ง์ง๋ง ๋ฌธ์ 3๊ฐ๋ฅผ ๋บ ๊ฒ์ ๋ฆฌํด
var substr = str.dropLast(3)
print(substr)
//Hello, Awesome Swift
var str = "Hello, Awesome Swift!!!"
//์์๋ถ๋ถ ๋ฌธ์ ๋บ ๊ฒ์ ๋ฆฌํด
var substr = str.dropFirst()
print(substr)
//ello, Awesome Swift!!!
var str = "Hello, Awesome Swift!!!"
//์์๋ถ๋ถ ๋ฌธ์ 3๊ฐ ๋บ ๊ฒ์ ๋ฆฌํด
var substr = str.dropFirst(3)
print(substr)
//lo, Awesome Swift!!!
var str = "Hello, Awesome Swift!!!"
//ํด๋ก์ ๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์, ์บ๋ฆญํฐ๋ฅผ ๋ฐ์์ bool์ ๋ฆฌํด, ๋ฌธ์์ด์ ์๋ ๋ฌธ์๊ฐ ์์๋๋ก ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌ๋จ
//ํด๋ก์ ๊ฐ ํธ๋ฃจ๋ฅผ ๋ฆฌํดํ๋ ๋์ ๊ณ์ํด์ ๋ฌธ์๋ฅผ ๋บ false๋ฅผ ๋ฆฌํดํ๋ฉด ๋๋จธ์ง ๋ฌธ์์ด์ ๋ฆฌํดํด์ค๋ค.
var substr = str.drop {$0 != ","}
print(substr)
//์ฒซ๋ฒ์งธ , ์ด์ ์ ์๋ ๋ชจ๋ ๋ฌธ์์ด์ ๋นผ๊ณ ๋จ์ ๋ฌธ์์ด์ ๋ฆฌํด
//, Awesome Swift!!!
๋น๊ต
let bigA = "Apple"
let smallA = "apple"
let b = "Banana"
print(bigA.compare(smallA) == .orderedSame)
//false
//๋์๋ฌธ์ ๊ตฌ๋ถ ์ํ๊ธฐ
print(bigA.caseInsensitiveCompare(smallA) == .orderedSame)
//true
์ฐพ๊ธฐ
let str = "Hello, Swift"
print(str.contains("S"))
//true
let str = "Hello, Swift"
print(str.contains("s"))
//false
//๋ชจ๋ ์๋ฌธ์๋ก ์ผ์น์ํค๊ณ ์ฐพ์
print(str.lowercased().contains("swift"))
//true
//๋ฒ์๊ฐ ๋ฆฌํด
let range = str.range(of: "swift",options: [.caseInsensitive])
//๊ณตํต ์ ๋์ฌ
let str = "Hello, Swift"
let str2 = "Hello, Programming"
let str3 = str2.lowercased()
var common = str.commonPrefix(with: str2)
print(common)
//Hello,
let str = "Hello, Swift"
let str2 = "Hello, Programming"
let str3 = str2.lowercased()
var common = str.commonPrefix(with: str3)
print(common)
//์์
//๋์๋ฌธ์ ๊ตฌ๋ถ ์ํ๊ธฐ ๋์ ์ ์์ ์๋ str์ ๊ธฐ์ค์ผ๋ก ๊ฐ์ ธ์ด
let str = "Hello, Swift"
let str2 = "Hello, Programming"
let str3 = str2.lowercased()
var common = str.commonPrefix(with: str3,options: [.caseInsensitive])
print(common)
//Hello,
'๐๐ > swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] Dictionary (0) | 2024.06.20 |
---|---|
[swift] Array (0) | 2024.06.20 |