본문 바로가기

난 iOS개발자/iOS

String Extension

728x90

문자열 자르기1

extension String {
    func substring(from: Int, to: Int) -> String {
        guard count > from, from >= 0, to >= from else {
            return ""
        }
                
        let startIndex = index(self.startIndex, offsetBy: from)
        let endIndex = index(self.startIndex, offsetBy: to + 1)
        
        return String(self[startIndex..<endIndex])
    }
}

var someString = "0123456"
print(someString.substring(from: 2, to: 5)) //2345

 

 

 

문자열 자르기2

extension String {

    subscript(_ index: Int) -> Character {
        return self[self.index(self.startIndex, offsetBy: index)]
    }
    
    subscript(_ range: Range<Int>) -> String {
        let fromIndex = self.index(self.startIndex, offsetBy: range.startIndex)
        let toIndex = self.index(self.startIndex,offsetBy: range.endIndex)
        return String(self[fromIndex..<toIndex])
    }
}

let greeting = "hello"
greeting[0] //h
greeting[2] //l

greeting[0..<2]//he
728x90

'난 iOS개발자 > iOS' 카테고리의 다른 글

UITextField LeftPadding  (0) 2021.07.29
Equatable  (0) 2021.07.29
RTL  (0) 2021.07.29
개행(\n) 없이 두 줄 이상의 문자열 할당하기  (0) 2021.07.29
Closure와 객체의 생명주기의 관계  (0) 2021.07.07