+ 계속 업데이트 예정입니다.
문자열
string[n] 형태로 사용하기
// "0inn"
let idx = str[0].index(str[0].startIndex, offsetBy: 2)
print(str[idx]) // "n"
string 안에 들어간 "*"를 “#“로 바꾸어 새로운 문자열로 반환해 달라.
// 사용법
str.replacingOccurrences(of: "*", with: "#")
// 원형
func replacingOccurrences(of target: String, with replacement: String) -> String
해당 문자 숫자인지 문자인지 확인
let string = "1A"
Array(string).forEach { i in
print(i.isLetter)
print(i.isNumber)
}
/*
false
true
true
false
*/
대소문자
var string = "aB"
print(string.uppercased()) // AB
print(string.lowercased()) // ab
공백 제거
string.trimmingCharacters(in: .whitespaces)
문자열 첫 문자와 마지막 문자
var string = "hello"
// 처음 문자
print(string.first!) // h
// 마지막 문자
print(string.last!) // o
// 처음 문자 확인
print(string.hasPrefix("h")) // true
// 마지막 문자 확인
print(string.hasSuffix("o")) // true
// 처음 문자 삭제
string.removeFirst() // ello
// 마지막 문자 삭제
string.removeLast() // ell
Int to String
let num = 10
// 문자열 보간 방법
let str1 = "\(num)"
// 문자열 이니셜 라이저 사용
let str2 = String(num)
String to Int
let str = "10"
let num = Int(10) // Optional(10)
let number = Int(10)! // 10
문자열 자르기
var str = "hello"
let startIndex = str.index(str.startIndex, offsetBy: 0)
let endIndex = str.index(str.endIndex, offsetBy: 5)
print(str[startIndex ..< endIndex]) // hello
print(str[startIndex ..< str.endIndex]) // hello
// 문자열 시작
print(str[str.startIndex]) // h
문자열 특정 문자 기준으로 자르기
var str = "one,two,three"
print(str.split(separator: ",")) // ["one", "two", "three"]
배열
배열 생성
var array = [Int])()
var array = [Int](repeating: 10, count: 0)
// 2차원 배열
var array = [[Int]](repeating: Array(repeating: 1, count: 5), count: 3)
배열 요소 추가
// append
var array = [1, 2, 3]
array.append(4) // [1, 2, 3, 4]
array.append(contentsOf: [5, 6, 7]) // [1, 2, 3, 4, 5, 6, 7]
// insert: 오버헤드 발생 ! - insert하는 위치부터 배열을 재배치하기 때문
var array = [1, 2, 3]
array.insert(0, at: 0) // [0, 1, 2, 3]
array.insert(contentsOf: [4, 5], at: 2) // [0, 1, 4, 5, 2, 3]
배열 요소 삭제
var array = [1, 2, 3, 4, 5, 6, 7, 8, 9]
array.removeFirst() // [2, 3, 4, 5, 6, 7, 8, 9]
array.popLast() // [2, 3, 4, 5, 6, 7, 8]
array.remove(at: 2) // [2, 3, 5, 6, 7, 8]
array.removeSubrange(1...3) // [2, 7, 8]
array[0..<2] = [] // []
배열 중복 제거
// array = [1, 2, 2, 3]
[Int](Set(array)) // array = [1 ,2 ,3]
var arr = array.filter { !array.contains($0) } // array = [1 ,2 ,3]
enumerated()
array 값에 enumerated() 함수를 사용하면 (index, value) 튜플형식으로 구현된 리스트형 리턴
let array = ["one", "two", "three"]
for (index, number) in arr.enumerated() {
print("\(index), \(number)")
}
/*
0, one
1, two
2, three
*/
배열 찾는 값의 index 조회
var arr = ["h", "e", "l", "l", "o"]
if let idx = arr.firstIndex(of: "h") {
print(idx) // 0
}
배열 특정 index에서 삭제
// 해당 index에서 제거
arr.remove(at: index)
배열 뒤집기
// reverse() : 기존의 배열 거꾸로 뒤집기
var array = [1, 2, 3, 4, 5]
array.reverse()
print(array) // [5, 4, 3, 2, 1]
// reversed() : 거꾸로 뒤집은 새로운 배열 리턴
var array = [1, 2, 3, 4, 5]
array.reversed() // [5, 4, 3, 2, 1]
print(array) // [1, 2, 3, 4, 5]
zip
var arr1 = [1, 2, 3]
var arr2 = [1, 1, 1]
print(zip(arr1, arr2).map { $0 * $1 }.reduce(0, +)) // 1 + 2 + 3 = 6
문자열 - 배열
문자열 배열을 문자열로 바꾸기
let array = ["h","i"]
print(array.joined(seperator: "")) // hi
'iOS > Swift' 카테고리의 다른 글
[Swift] stride 함수 / Set (0) | 2022.10.25 |
---|---|
[Swift] Swift 알고리즘 - 수학 (0) | 2022.10.13 |
[Swift] Swift 알고리즘 - Dictionary (0) | 2022.10.12 |
[Swift] 클로저 (Closure) (0) | 2022.09.24 |
[Swift] Class vs. Struct vs. Enum (0) | 2022.09.06 |