ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • swift - Appending Strings and Characters, Replacing Substring, Remove String
    swift 2021. 1. 6. 20:18

    Appending Strings and Characters

    var str = "Hello"
    
    // append -> 대상 문자열을 직접 변경
    // appending -> 직접 변경하지 않고 새로운 string 리턴
    str.append(", ")
    
    // ~ed, ~ing 붙은 메소드는 원본을 변경하지 않는다.
    let s = str.appending("Swift")
    
    str
    s
    
    // appendingFormat : 원하는 포맷으로 변경된 문자열 리턴
    "File size is ".appendingFormat("%.1f", 12.3456)
    
    var str2 = "Hello Swift"
    str2.insert(",", at: str.index(str.startIndex, offsetBy: 5))
    
    if let sIndex = str2.firstIndex(of: "S") {
        str2.insert(contentsOf: "Awesome", at: sIndex)
    }
    str2
    

    Replacing Substring

    var str = "Hello, Objective-C"
    
    // 문자열의 범위 검색
    if let range = str.range(of: "Objective-C"){
        // 범위내의 문자열을 replace
        str.replaceSubrange(range, with: "Swift")
    }
    str
    
    if let range = str.range(of: "Hello") {
        let s = str.replacingCharacters(in: range, with: "Hi")
        
        s
        str
    }
    
    // 문자열에 Swift가 포함되어 있다면 이 문자열을 Awesome Swift로 바꿔 리턴해줌
    var s = str.replacingOccurrences(of: "Swift", with: "Awesome Swift")
    s
    
    // options에 준게 뭘까?
    s = str.replacingOccurrences(of: "Swift", with: "Awesome Swift", options: [.caseInsensitive])

    Remove String

    var str = "Hello, Awesome Swift!!!"
    
    let lastCharIndex = str.index(before: str.endIndex)
    
    var removed = str.remove(at: lastCharIndex)
    
    str
    removed
    
    removed = str.removeFirst()
    removed
    str
    
    str.removeFirst(2)
    
    removed = str.removeLast()
    str.removeLast(2)
    
    removed
    str
    
    if let range = str.range(of: "Awesome") {
        // 범위 삭제 메소드
        str.removeSubrange(range)
        str
    }
    
    str.removeAll()
    str
    
    // 이렇게하면 메모리공간은 삭제되지 않는다.
    str.removeAll(keepingCapacity: true)
    
    // drop
    // 모두 Substring을 리턴함
    str = "Hello, Awesome Swift!!!"
    
    // dropLast()
    // 원본 문자열에서 마지막 문자열을 제외한 모든 문자열을 리턴
    var substr = str.dropLast()
    
    // 마지막 3개의 문자열을 제외한 모든 문자열을 리턴
    substr = str.dropLast(3)
    
    // .drop(while: <#T##(Character) throws -> Bool#>)
    // 클로저를 파라미터로 받는데 클로저에서 true를 리턴할때는 계속삭제 false를 리턴할때까지
    substr = str.drop(while: { (ch) -> Bool in
        return ch != ","
    })

    'swift' 카테고리의 다른 글

    swift - Options  (0) 2021.01.06
    swift - Comparing Strings  (0) 2021.01.06
    swift - Substring  (0) 2021.01.06
    swift - String Basic  (0) 2021.01.06
    swift - String Index  (0) 2021.01.06

    댓글

Designed by Tistory.