태그 보관물: NSRegularExpression

RegularExpression-swift

Swift3에서 문자열 확장과 재명명된 API를 이용하여 간결하게 문자열 내의 특정 범위를 찾고, 문자열을 치환하는 테크닉에 대해 살펴본다.

Swift의 정규식

Swift는 언어 자체에서 정규식을 지원하지 않고 FoundationNSRegularExpression 클래스를 이용한다.

  1. NSRegulareExpressioninitthrows이기 때문에 try와 같이 사용되어야 한다.
  2. 매치 결과는 TextCheckingResult 클래스의 인스턴스를 얻게 된다. 이는 매치영역 및 영역 내 각 매치 그룹의 범위를 NSRange값으로 가지고 있다.
  3. 문제는 Swift 문자열의 부분문자열은 Index<String.Index>에 의해서 얻을 수 있지, NSRange를 이용할 수 없다. 따라서 이를 컨버팅하는 편의함수나 타입 확장을 이용해야 한다.

Continue reading “RegularExpression-swift” »

숫자에 콤마넣기 (more!)

숫자에 콤마 넣기 (swift2)

숫자 세자리마다 콤마를 넣는 것은 NSNumberFormatter를 이용하면 간단히 할 수 있다.

let formatNumber: (Int) -> String = { n  in
    let f = NSNumberFormatter()
    f.numberStyle = .DecimalStyle
    return f.stringFromNumber(NSNumber(integer: n))!
}

Continue reading “숫자에 콤마넣기 (more!)” »