문자열 생성
- 타입 : String
var str1 = "Hello, Swift Language"
var str2 : String = "Swift"
let strFromInt = String(100) // "100"
let char : Chraracter = "F"
let strFromChar = String(char) //문자에서 문자열로
- String Interpolation : \()
let str3 = "1 + 2 = \(1 + 2)"
let str4 = "Hello.\(str2)"
- 형식 문자열 생성
- 일정한 형식에 맞는 문자열
- Foundation Framework 필요
import Foundation
String(format: "%03d",12) // "012"
String(format: "%3.2e",3.14159) //"3.14e+00"
문자열 추가
- 문자열 붙이기
- + 연산자
- append(_:) 함수로 문자나 문자열 덧붙이기
var str = "Hello"
str = str + "Swift"
str += "!"
// print str -> HelloSwift!
str2.append(" Swift")
let ex laim : Character = "!"
str2.append(exclaim)
//print str -> Swift!
문자열 비교
- 문자열 비교 : ==
let str = "Hello Swift"
if str == "Hello Swift"{
print("같은 문자열")
}
- 문자열 비교 : compare
if helloStr1.compare(helloStr2) == .orderedAscending //왼쪽 피연산자가 더 작다.
if helloStr1.compare(helloStr2) == .orderedDescending // 왼쪽 피연산자가 더 크다.
if helloStr1.compare(helloStr2) == .orderedSame // 같다.
helloStr1.compare(helloStr2, options: .caseInsensitive) //대소문자 구분업이 비교
- 문자열 시작, 끝 비교
str.hasPrefix("Hello")
str.hasSuffix("ground")
문자열 연산
- 대소문자 변화
let uppercaseStr = str.uppercased() //대문자
let lowercaseStr = str.lowercased() //소문자
문자열과 뷰
- 문자열 데이터 다루기 : 뷰(View)
- 인코딩 방식에 따라 제공되는 뷰
- 문자열 뷰
- var characters : String.CharacterView - 유니코드 스칼라 뷰
- var unicodeScalars : String.UnicodedScalarView
UTF8 - var utf8 : String.UTF8View
UTF16 - var utf16 : String.UTF16View
- 문자열을 구성하는 문자 집합 : 뷰
-String.CharacterView
var characters : String.CharacterView
- 문자열 길이
- String.[View].count
- 문자 길이 : String.characters.count
let str = "Hello Swift"
str.characters.count //11
//유니코드 문자를 포함하는 문자열
let str2 = "| \u{2665} Swift" //I❤︎Swift
str2.characters.count //9