Swift Strings
2021년 4월 24일 수정
≡ 목차 (Table of Contents)
이 글은 Swift 문자열(String)과 관련된 팁을 개인적인 용도(?)로 정리한다.
문자열 내에서 검색하기
"Hello World!".range(of: "llo")
반환 값은 Range<String.Index>?
타입이다.
문자열 일부만 얻기(Substring)
if let s = someString.range(of: "start>"), let e = someString.range(of: "<end") { return someString[s.upperBound..<e.lowerBound] }
이 코드는 start>TEXT<end
이런 문자열에서 TEXT
부분만 얻어올 때 사용할 수 있는 코드다.
문자로 문자열 나누기(Split)
가장 일반적인 방식은 아래와 같이 단일 문자(Character) 단위로 나누는 것이다.
"a,b,c".split(separator: ",") // => ["a", "b", "c"]
여러 문자로 문자열 나누기
만약 나누려는 구분자가 한 문자가 아니라면 whereSeparator
를 사용할 수동 있다.
"a, b, c".split { [",", " "].contains($0) }.map(String.init)
클로저를 축약시켜서 파라미터 이름이 보이지 않는다는 점에 주의하자. 마지막의 map
은 문자열 리스트로 변환하는 과정이다. Substring
타입이 필요하다면 map
스테이지는 필요 없다.
문자열에서 특정 문자열을 다른 문자열로 치환하기
String 구조체에서 제공되는 replacingOccurrences
메서드를 이용할 수 있다.
"This is test string".replacingOccurrences( of: "test", with: "sample" )