본문 바로가기
IOS/Swift

[Swift] 문자열과 문자

by 얘리밍 2022. 12. 26.
320x100
728x90

 

 

1️⃣ Character 배열 및 문자 합치기 

 

하나의 문자를 넣고싶다면 Character 형을 다음과 같이 선언한다.

let mark : Character = "!"     // 하나

 

배열에 넣고 싶다면 다음과 같다. 

요소를 합치고 싶다면 string 으로 감싼다. 

let word : [character] = ["c","a","t"]  //배열 
let fullstring = string(word)

print(fullstring)
//cat

 


 

 

2️⃣ 괄호 및 수식 값 계산 출력

 

괄호와 \를 그대로 출력하고 싶다면 따옴표 양 옆에 #을 붙인다. 

print(#"Swift using \(multiplier)."#)
// "Swift using \(multiplier)." 이 출력됨

 

수식의 결과 값을 출력하고 싶으면 수식을 괄호로 감싼다음 #을 붙인다. 

print(#"6 times 7 is \#(6 * 7)."#)
//6 times 7 is 42

 

 


 

 

3️⃣ 인덱스를 통한 문자열 접근 

 

◼ 문자열의 처음끝 

startIndex는 문자열이 시작하는 첫번째 문자를 반환한다. 

let greeting = "Hello World!"

greeting[greeting.startIndex]
//H

 

endIndex는 String에 마지막 문자가 아닌 그 다음 위치를 반환한다

before를 통해 해당 인덱스 전 요소를 반환하고, after를 통해 해당 인덱스 다음 요소를 반환한다. 

greeting[greeting.index(before: greeting.endIndex)]
//!

greeting[greeting.index(after: greeting.startsIndex)]
//e

 

특정 문자열 접근

특정한 위치의 문자열에 접근하고 싶으면 offsetBy를 사용한다. 

let index = greeting.index(greeting.startIndex, offsetBy: 7)]
greeting[index]
// 시작 위치 : startIndex, 찾고 싶은 위치 : 7
// o

 

 

문자열에 있는 개별 문자 접근하여 출력하기

for index in greeting.indices {
	print("\(greeting[index])", terminator: "")
}
//H e l l o  w o r l d !

terminator: "" ->  옆으로 한칸씩 띄어쓰기 되면서 한줄에 출력 

 

 


 

 

4️⃣ 문자열 삽입 

 

 하나 문자 삽입

var welcome = "hello"

welcome.insert("!", at:welcome.endIndex)

 

 

여러 요소 혹은 문자열 삽입

welcome.insert(contentsOf: "there", at : welcome.index(before : welcome.endIndex))
//"hello there!" 이 된다.
var numbers = [1,2,3,4,5]
numbers.insert(contentsOf: [1,2,3], at: 3)
print(numbers) // [1, 2, 3, 1, 2, 3, 4, 5]

 

 


 

 

5️⃣ 문자열 삭제 

 

welcome.remove(at:welcome.index(before: welcome.endIndex))
// welcome은 !가 삭제되어 hello there이 된다.

 

 

특정 범위 문자열 삭제

removeSubrange 사용 

let range = welcome.index(welcome.endIndex, offsetBy: -6) .. < welcome.endIndex

welcome.removeSubrange(range)
//welcome은 hello

 

 

부분문자열 

firstIndex(of:) 는 배열에서 해당 값과 일치하는 요소의 가장 첫번째 index를 반환하고 

lastIndex(of:) 는 해당 값과 일치하는 요소의 가장 마지막 index를 반환한다. 

 

let greeting = "Hello, world!"
let index = greeting.firstIndex(of: ",") ?? greeting.endIndex
let beginning = greeting[..<index]
// beginning is "Hello"

// Convert the result to a String for long-term storage.
let newString = String(beginning)

 

 

firstIndex와 lastIndex에 대한 자세한 예시 

var arr: [String] = ["a", "b", "c", "d", "b", "e]


if let firstIndex = arr.firstIndex(of: "b") {
    print(firstIndex)  // 1
}

if let lastIndex = arr.lastIndex(of: "b") {
    print(lastIndex)  // 4
}

 

728x90
반응형