Swift 문자, 문자열
문자와 문자열을 다루는 타입
문자 : Character
문자열 : String
변수/상수 선언
문자
문자 character 한 글자 사용가능, 유니코드(이모티콘) 가능, 유니코드 코드 값 입력 가능
비교
동일 비교 ==
크기 비교 >, <
문자열
타입 : String
var str1 = "Hello World"
var str2 : String = "Swift"
String Interpolation : \() 평가식을 입력하여 대입가능
let str3 = "1 + 2 = \(1+2)"
let str4 = "Hello \(str2)"
다른 기본 타입에서 문자열 생성
let strFromInt = String(100) // "100"
let strFromBool = String(true) // "true"
문자에서 문자열
let char : Character = "♥"
let strFromChar = String(char)
문자열 생성
형식 문자열 생성
일정한 형식에 맞는 문자열 만들기
Foundation Framework 필요
import Foundation
String(format: "%3.2f", 3.14159) // "3.14"
문자열 추가
+ 연산자, append(함수로 문자나 문자열 덧붙이기)
문자열 비교
문자열 비교 : ==
문자열 비교 : compare
비교 옵션, 범위, 로케일
비교 결과 ㅣ 오름차순, 같음, 내림차순
대소문자 구분없이 비교
문자열 시작, 끝 비교 : str.hasPrefix("hello"), str.hasSubfix("ground")
문자열 연산
str.uppercased() // 대문자 변환
str.lowercassed(). // 소문자 변환
문자열 내 위치 다루기 : String.Index
let Index3 = str.Index(str.startIndex, offsetBy: 3) // 3
부분 문자열
첨자 접근 : [], substring, (파운데이션 프레임워크)
문자열 내 검색(range)
파운데이션 프레임워크 필요
let range1 : Range<String.Index>? = str.range(of:"sw")
let range2 = str.range(of:"sw", options:.caseInsensitive)
트리밍
let spaceStr = " Hello Swift "
spaceStr.trimmingCharacters(in: CharacterSet.whitespaces) -- 옵션 값 변경 가능
문자열과 뷰
문자열 데이터 다루기 : 뷰
인코딩 방식에 따라 제공되는 뷰
문자열 뷰 : var characters: String.CharacterView
유니코드 스칼라 뷰 : var unicodeScalars : String.UnicodeScalarView
utf : var uft8(16) : String.UTF8(16)View
문자열 길이
String.character.count
출처 : t academy swift 강좌