문자열의 삽입/교체/추가/삭제

썹스·2022년 12월 13일
0

Swift 문법

목록 보기
55/68

문자열의 삽입/교체/추가/삭제

특정 문자들을 조합하여 만들어진 문자열(String)은 배열(Array)과 같은 데이터 바구니의 개념을 내포하고 있으므로 배열에서 사용하는 삽입(insert), 교체(replace), 추가(append), 삭제(remove) 기능을 사용할 수 있습니다.


📌 삽입(insert)

✅ 문자열에 문자(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 @#$

📌 교체(replace)

✅ 문자열에서 원하는 문자(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

📌 추가(append)

✅ 문자열에 문자(Character) 또는 문자열(String) 추가

문자열.append(문자/문자열)

var str = "Hello kim"
str.append("@")  // Hello kim@

var str = "Hello kim"
str.append("@@@@")  // Hello kim@@@@

📌 삭제(remove)

✅ 지정한 인덱스 위치의 문자(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)  // 모든 문자열을 삭제하지만, 메모리 공간은 유지

요약

profile
응애 나 코린이(비트코인X 코딩O)

0개의 댓글