안녕하세요:)
오늘은 가장 기초적인 형식인 문자열과 문자를 다루는 방법에 대해서 알아보도록 하겠습니다.
let str = "안녕하세요" // Immutable String 바꿀 수 없는 문자열
var str2 = "반가워요" // Mutable String 바꿀 수 있는 문자열
let str3 = "A" // 이건 문자열일까요? 문자일까요? -> 문자열입니다!
let Ch: Character = "A" // 문자로 처리하고 싶을 때는 반드시 타입을 지정해 줘야 합니다!!
let emptyStr = "" // 빈 문자열! 공백을 추가하지 않아야 합니다.
let emptyStr2 = String() // 생성자를 사용한 빈 문자열
let emptyChar: Character = " " // 빈 문자를 저장하고 싶다면 반드시 공백을 추가해 줘야 합니다.
"안녕하세요, 반가워요" // single-line
let multiline = """
안녕하세요
반가워요
행복하세요
!!!
"""
let multiline = """
안녕하세요
반가워요\
행복하세요
!!!
"""
var str = "Hello, Swift"
print(str) // Hello, Swift
str = "\"Hello\", Swift" // "를 사용해서 Hello에 ""를 추가했습니다.
print(str) // "Hello", Swift
str = "Hello, \nSwift"
print(str) // \n 을 사용해서 줄 바꿈을 추가했습니다.
print("===========")
str = #"Hello\#nSwift"#
print(str) // 위의 코드와 같은 결과를 보여줍니다.
String(format: "%.2f", 22.33434343434) // 22.33 소수점 2자리까지 출력합니다.
String(format: "Hi, %@", "Swift") // Hi Swift , /@이 Swift로 대체됩니다.
String(format: "%d", 100) // 정수를 대체합니다.
String(format: "[%d]", 200)
String(format: "[%10d]", 200)
String(format: "[%-10d]", 200)
let firstN = "DOIN"
let lastN = "KIM"
let name = "My name is %1$@%2$@."
String(format: name, firstN, lastN) // My name is DOINKIM.
let date = Date()
"오늘은 \(date) 입니다."
let temp = 15.2
"오늘은 \(temp)도 입니다."
Double.pi
"pi의 값은 \(Double.pi)입니다."
let str = "Hello, Swift"
str[str.startIndex] // H , 첫 번째 인덱스 접근
//str[str.endIndex] // error, endIndex는 마지막 문자 다음의 인덱스를 나타냅니다. past the end
str[str.index(before: str.endIndex)] // t, 마지막 인덱스 접근 방법
str[str.index(after: str.startIndex)] // e 두 번째 인덱스 접근
str[str.index(str.startIndex, offsetBy: 2)] // l
str[str.index(str.endIndex, offsetBy: -2)] // f
let a = String(300, radix: 16) // 숫자를 특정 진법으로 바꾸는 방법, 16진수로 변경했습니다.
let b = String(repeating: "안녕", count: 3) // 안녕안녕안녕, 특정 문자를 원하는 갯수만큼 채워서 출력하는 방법입니다.
var str = "Hello, Swift"
str += "\t어렵다!" // Hello, Swift 어렵다!
str.count // 문자열의 길이를 확인합니다.
str.isEmpty // 문자열이 비어있는지 확인합니다.
str.uppercased() // 문자열의 모든 문자를 대문자로 변경합니다.
str.lowercased() // 문자열의 모든 문자를 소문자로 변경합니다.
str.contains("H") // true, 문자열에 포함되어 있는 문자를 확인할때 사용합니다.
str = "hello, swift"
str.capitalized // 문자열의 각 문자의 첫 번째 문자를 대문자로 변경합니다.
let strA = "안녕하세요 블로그에 오신 걸 환영합니다."
strA.randomElement() // 문자열에서 랜덤으로 문자를 뽑아줍니다.
strA.shuffled() // 문자열에 포함된 문자를 랜덤으로 섞어서 문자 배열로 리턴해줍니다.
var str = "iPhone Pro Max"
str.prefix(1) // i
str.prefix(2) // ip
str.insert("!", at: str.endIndex) // iPhone Pro Max!
str.insert(contentsOf: "!!!!", at: str.endIndex) // iPhone Pro Max!!!!!
// 문자열 특정 범위 추출
str[str.startIndex ..< str.index(str.startIndex, offsetBy: 4)] // iPho
str[str.index(str.startIndex, offsetBy: 4)...] // ne Pro Max!!!!! , 특정 인덱스부터 마지막까지 추출합니다.
let lower = str.index(str.startIndex, offsetBy: 0)
let upper = str.index(str.startIndex, offsetBy: 10)
str[lower...upper] // iPhone Pro