특정 문자들을 조합하여 만들어진 문자열(String)은 배열(Array)과 같은 데이터 바구니의 개념을 내포하고 있으므로 배열에서 사용하는 삽입(insert), 교체(replace), 추가(append), 삭제(remove) 기능을 사용할 수 있습니다.
✅ 문자열에 문자(Character) 삽입
문자열.insert(문자, at: 인덱스)
var str = "Hello kim" str.insert("@", at: str.endIndex) //문자열의 마지막 위치에 "@" 삽입 print(str) // Hello kim@
✅ 문자열에 문자열(String) 삽입
문자열.insert(contentsOf: 문자열, at: 인덱스)
var str = "Hello kim" str.insert(contentsOf: " @#$", at: str.endIndex) //문자열의 마지막 위치에 " @#$" 삽입 print(str) // Hello kim @#$
✅ 문자열에서 원하는 문자(Character) 또는 문자열(String) 교체
문자열.replaceSubrange(교체할 문자열 범위, with: 교체할 문자열)
var str = "Hello kim" str.replaceSubrange(str.range(of: "kim")!, with: "Shin") print(str) // Hello Shin
✅ 문자열의 원본은 유지하면서 원하는 문자(Character) 또는 문자열(String) 교체
문자열.replacingOccurrences(of:교체하려는 문자열 with: 교체할 문자열)
var str = "Hello kim" var newStr = str.replacingOccurrences(of: "kim", with: "Shin") // 원본 변경 X print(str) // Hello kim print(newStr) // Hello Shin
✅ 문자열의 원본은 유지하면서 원하는 문자(Character) 또는 문자열(String) 교체 + 대/소문자 구별X 옵션 추가
문자열.replacingOccurrences(of:교체하려는 문자열 with: 교체할 문자열, options: [.caseInsensitive])
var str = "Hello kim" var newStr = str.replacingOccurrences(of: "KIM", with: "Shin", options: [.caseInsensitive]) // 원본 변경 X print(str) // Hello kim print(newStr) // Hello Shin
✅ 문자열에 문자(Character) 또는 문자열(String) 추가
문자열.append(문자/문자열)
var str = "Hello kim" str.append("@") // Hello kim@
var str = "Hello kim" str.append("@@@@") // Hello kim@@@@
✅ 지정한 인덱스 위치의 문자(Character) 또는 문자열(String) 삭제
문자열.remove(at: 삭제할 인덱스)
var str = "Hello kim" str.remove(at: str.startIndex) print(str) // ello kimc
✅ 지정한 범위의 문자(Character) 또는 문자열(String) 삭제
문자열.remove(at: 삭제할 범위)
var str = "Hello kim" str.removeSubrange(str.range(of: "llo")!) print(str) // He kim
✅ 문자열의 첫 번째부터 n번째 문자(Character) 또는 문자열(String) 삭제
문자열.removeFirst(삭제할 수)
var str = "Hello kim" str.removeFirst(3) print(str) // lo kim
✅ 문자열의 끝부터 n번째 문자(Character) 또는 문자열(String) 삭제
문자열.removeFirst(삭제할 수)
var str = "Hello kim" str.removeLast(3) print(str) // Hello
✅ 모든 문자열 삭제
문자열.removeAll()
var str = "Hello kim" str.removeAll() print(str) // 모든 문자열 삭제
✅ 모든 문자열 삭제(메모리 공간 유지)
문자열.removeAll(keepingCapacity: true)
var str = "Hello kim" str.removeAll(keepingCapacity: true) print(str) // 모든 문자열을 삭제하지만, 메모리 공간은 유지