728x90
스위프트에서 문자열을 다루는 방법에 대해서 알아 보겠습니다.
문자열 다루기
문자열 길이
/*
문자열 길이 -> count
*/
var strTest: String = "안녕하십니까?"
print(strTest.count) // 7
문자열 안의 문자
/*
문자열 안의 문자
문자열 안에 들어있는 문자를 확인 할때는 [] 대괄호 안에 숫자대신 스위프트에선 Index객체를 넣어 줍니다.
첫번째 문자의 위치 : 문자열.startIndex
마지막 문자 뒤의 위치 : 문자열.endIndex
*/
var subFirst = strTest[strTest.startIndex] // 안
var subLast = strTest[strTest.index(before: strTest.endIndex)] // ?
prefix와 suffix
/*
prefix와 suffix
hasPrefix : 문자열이 어떤 글자로 시작하는지 확인
hasSuffix : 문자열이 어떤 글자로 끝나는지 확인
*/
if strTest.hasPrefix("안") {
print("안으로 시작")
}
if strTest.hasSuffix("?") {
print("?로 끝남")
}
문자열 안에 문자들 추출
/*
문자열 안에 문자들 추출
다른 언어들은 substring이라는 메서드를 제공하지만
스위프트는 범위 연산자를 사용해야됩니다.
-> 문자열[index범위]
*/
let strRange = strTest.index(strTest.startIndex, offsetBy: 2) ... strTest.index(strTest.endIndex, offsetBy: -2)
print(strTest[strRange]) // 하십니까
let strRange2 = strTest.index(strTest.startIndex, offsetBy: 2) ..< strTest.index(strTest.endIndex, offsetBy: -2)
print(strTest[strRange2]) // 하십니
문자열 안에 문자들 삭제
/*
문자열 안에 문자들 삭제
다른 언어들은 substring이라는 메서드를 제공하지만
스위프트는 범위 연산자를 사용해야됩니다.
-> 문자열.removeSubrange[index범위]
*/
strTest.removeSubrange(strRange2) // 안녕까?
문자열 대소문자 변경
/*
문자열 대소문자 변경
소문자로 변환 : 문자열.lowercased
대문자로 변환 : 문자열.uppercased
*/
var userID = "Seungjin429"
print("소문자 :", userID.lowercased()) // 소문자 : seungjin429
print("대문자 :", userID.uppercased()) // 대문자 : SEUNGJIN429
문자열 나누기
/*
문자열 나누기
split : 문자열에 들어있는 특정 문자열을 기준으로 문자열을 분리
*/
let splitStr = "good,blog,jinShine"
let splitArr = splitStr.split(separator: ",")
splitArr.map { str in
return print(str)
}
//good
//blog
//jinShine
'Swift' 카테고리의 다른 글
[Swift] Swift Style Guide 정리 (1) | 2019.07.29 |
---|---|
[Swift] 1. 순수함수, Pure Function (Functional Programming in Swift) (0) | 2019.07.25 |
[Swift] 고차함수(2) - map, flatMap, compactMap (0) | 2019.07.25 |
[Swift] 고차함수(1) - forEach, filter, reduce (0) | 2019.07.25 |
[Swift] 프로토콜 지향 프로그램 - 2 (델리게이션 및 프로토콜 설계) (0) | 2019.07.25 |