clamp
Clamp
clamp
글쓰기 관리
전체 방문자
오늘
어제
  • 분류 전체보기 (509)
    • IOS (85)
    • SwiftUI+TCA+Combine (9)
    • RxSwift + MVVM (56)
    • Clean Architecture (12)
    • SWIFT (56)
    • iOS - TDD (2)
    • 디자인패턴 (4)
    • CS (56)
      • 알고리즘 (29)
      • 운영체제 (15)
      • 자료구조 (2)
      • 네트워킹 (4)
      • 기타 (6)
    • 회고 (0)
    • Firebase (18)
    • SwiftUI (10)
    • iOS - UIKit (11)
    • iOS - 오픈소스 (6)
    • 코딩테스트 (166)
      • 프로그래머스 (164)
    • 정보처리기사 (14)
    • GitHub (2)
글쓰기 / 관리자

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • uikit
  • Q
  • ㅅ
  • Swift

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
clamp

Clamp

SWIFT

[Swift] 문자, 문자열 처리 함수

2023. 1. 12. 14:51

기본 / 배열 변환

string.count 		// 문자열의 개수 Int
string.isEmpty 		// 문자열이 비었는지 true/false
string.contains("문자열") // 문자열이 문자열을 포함하는지 true/false
string.randomElement() // 문자열중 랜덤을 리턴
string.suffled() 	// 문자열을 섞어서 Character배열로 리턴

let sArr = string.map{ String($0) } //문자열을 String배열로 리턴
let string = sArr.joined()  //String배열을 String으로 변환

let arr = Array(string) // 문자열을 Character배열로 변환
let string = String(arr) // Character배열을 문자열로 변환

문자열 접근

String[인덱스]

문자열 인덱스 타입⭐️⭐️⭐️

string.startIndex 	// 문자열의 시작인덱스
string.endIndex 	// 문자열의 마지막 인덱스

⭐️⭐️⭐️string.index(string.startIndex, offsetBy:2) // 문자열의 시작으로부터 2만큼 떨어진 인덱스

string.index(after: 인덱스)    //인덱스 다음 인덱스
string.index(before: 인덱스)   //인덱스 전 인덱스

string.firstIndex(of: 요소)	// 요소의 첫 번쨰 인덱스
string.endIndex(of: 요소)	// 요소의 마지막 인덱스

string.range(of: "Swift")	// "Swift"의 range

대/소문자 변환

String.lowercased() // 소문자로 변환
String.uppercased() // 대문자로 변환

String.captialized  // 맨 앞글자만 대문자로 변환 captial swift -> Captial Swift

 

문자열 치환(교체)

String.replacingOccurrences(of: "해당문자를", with: "해당문자로")


//"swift"의 범위를 가져와서 있다면 해당 범위를 "C"로 교체
if let range = string.range(of: "swift"){
    string.replaceSubrange(range, with: "C")
}

 

문자열 자르기⭐️⭐️⭐️

split(separator:)
String.split(separator: " ") // 공백을 기준으로 문자열을 자름(SubString으로 리턴) <== 불편
let data = Array(i.split(separator: " ")// 잘라서 배열로 저장

String.split(whereSeparator: 클로저) 	// 클로저를 받기 떄문에 Deep한구현 가능


component(separatedBy:)
// 한개의 문자를 기준으로 자름 => 한개의 문자를 제거
String.components(separatedBy: " ") // " "를 기준으로 문자열을 자름
//=> " S t e v e" => ["", "S", "t", "e", "v", "e", ""]
String.components(separatedBy: " ").join // => "Steve"


//여러개를 기준으로 자름 => 여러개를 삭제가능
String.components(separatedBy: ["+", "-", "*", "/"]) // 내부의 문자들을 기준으로 자름
// => "1+2-3*4/5" => "12345"

 

접두어/접미어 반환

string.perfix(갯수) // 시작으로부터 x개 반환
string.suffix(갯수) // 끝으로부터 x개 반환

 

앞/뒤 drop시킨 나머지 반환

//갯수 만큼 drop한 나머지를 return / 내부수정이 아님
string.dropFirst(갯수) 
string.dropLast(갯수)

 

문자열 삭제

//갯수개를 remove를 시킨 나머지를 반환 / 내부수정이 일어남
string.removeFirst(갯수)
string.removeLast(갯수)

string.remove(at: 인덱스)   
string.removeSubrange(범위)

string.removeAll() //모두삭제
string.removeAll(keepingCapacity: treu) //메모리는 유지

 

문자열(문자)을 삽입

string.insert("1", at: 인덱스)  // 추가할 요소(문자)와 추가할 위치의 인덱스

string.insert(contentsOf: "111", at: string.index(after: string.startIndex)) //(문자열)

문자열 뒤에 추가

string.append("문자열") //문자열 뒤에 추가
string += "문자열"      //문자열 뒤에 추가

Char

char를 Int로 변환

char.wholeNumberValue!
저작자표시 비영리 동일조건 (새창열림)
    'SWIFT' 카테고리의 다른 글
    • [Swift] Hashable(Hash/HashValue) 프로토콜
    • [Swift]. @어트리뷰트 키워드와 다양한 키워드들
    • [Swift] Character를 Int로 변환
    • [Swift] 프로퍼티(Property) 저장, 지연저장, 연산, 읽기 전용 연산,
    clamp
    clamp
    주니어 iOS개발자의 발악!!!!!!!

    티스토리툴바