[Swift] 문자와 문자열 #2

김영민·2022년 5월 16일
0

저번 게시물에 이어 이번에도 문자열에 대해 정리해보겠습니다 !
혹시 틀린 것이 있다면 알려주세요!

문자열 다루기

1. 문자열 내 위치 다루기

  • String.Index
var index : String.Index

str.index(after: index)
str.index(before: index)
str.index(index, offsetBy: 3)
  • String.index를 통해 String의 문자에 대한 index 값을 가져올 수 있습니다.
  • offsetBy 값 차이만큼 뒤에 있는 index를 가져올 수 있습니다.
var startindex = String.Index(encodedOffset: 0) //0번쨰 Index
str[startindex] //문자열의 첫번째 문자 

2. SubString (부분 문자열)

let char = str[2] // 문자열의 2번 인덱스의 문자 저장
let chars = str[1...3] //문자열의 1번 인덱스부터 3번 인덱스의 문자 저장

3. 문자열 내 검색 (range)

let range1 : Range<String.Index>? = str.range(of:"sw")
let range2 = str.range(of:"sw", options:.caseInsensitive)

4. trimming

let spaceStr = " Hello Swift " 
spaceStr.trimmingCharacters(in: CharacterSet.whitespaces) 
// 결과 : Hello Swift

let str = "!Hello Swift!" 
str.trimmingCharacters(in:["!"])
//결과 : Hello Swift
  • 문자열의 끝부분만 제거
  • 양쪽 특정 문자를 제거하고 싶을 때는 in 에 ["(지우고 싶은 문자)"] 을 통해 지울 수 있다.

5. 문자열 내용 추가 : insert

//1
var spaceStr = "Hello Swift"
spaceStr.insert("C", at: spaceStr.startIndex)

//2
var spaceStr = "Hello Swift"
spaceStr.insert(contentsOf: ["C","B"], at: spaceStr.startIndex)
  • insert : 추가하고 싶은 문자를 String.index의 위치에 추가
  • contentsOf 를 통해 여러 문자 추가 가능
  • contentsOf: "CB" 와 같은 방식도 가능

6. 문자열 삭제 : remove

str.remove(at: index)
  • 인덱스로 삭제
let range = from..<to
str.removeSubrange(range)
  • 범위로 삭제(closed, half closed 둘 다 가능)

7. 문자열 길이 : count

var spaceStr = "Hello Swift"
spaceStr.count 
//결과 : 11 

8. 문자열 파일로 저장/읽기

0개의 댓글