안녕하세요 Swif5.0 Character 타입에 새롭게 추가된 Properties을 소개해 드리려고 합니다~!!
어떤것들이 추가 되었는데 함께 보시죠~!
그 전에 Character 타입이 무엇인지 짧게 소개 해드리려고 하는데요~!
말 그대로 '문자'를 의미합니다. 단어나 문장처럼 문자의 집합(예: dog)이 아니라
단 하나의 문자(예: d)를 의미합니다
유니코드에서 지원하는 모든 언어, 특수문자 등을 사용 할 수 있습니다.
아래는 새롭게 추가된 Properties 입니다.
.isASCII
ASCII 문자를 확인합니다.
let aCharacter = Character("A")
let piCharacter = Character("π")
aCharacter.isASCII // true
piCharacter.isASCII // true
.asciiValue
ASCII값을 반환하는 Int?. asciiValue가 맞다면 아스키 번호를, 아니면 nil값이 노출됩니당~!
let aCharacter = Character("A")
let piCharacter = Character("π")
aCharacter.asciiValue // 65
piCharacter.asciiValue // nil
.isWhitespace
공백이나 다른 분리하는 문자인지 체크합니다.
let tabCharacter = Character("\t")
tabCharacter.isWhitespace // true
.isNewline
줄 바꿈 문자도 공백으로 분류합니다.
isNewline으로 체크할 수 있습니다.
let newlineCharacter = Character("\n")
newlineCharacter.isWhitespace // true
newlineCharacter.isNewline // true
.isNumber
숫자인지 판단합니다.
let fiveCharacter = Character("5")
let halfCharacter = Character("½")
fiveCharacter.isNumber // true
halfCharacter.isNumber // true
.wholeNumberValue, .isWholNumber
isWholNumber는 정수인지 아닌지 체크, wholeNumberValue는 정수일 경우 Int형을 반환합니다.
let oneCharacter = Character("1")
let halfCharacter = Character("½")
oneCharacter.isWholeNumber // true
oneCharacter.wholeNumberValue // 1
halfCharacter.isWholeNumber // false
halfCharacter.wholeNumberValue // nil
.isHexDigit, .hexDigitValue
16진수 문자(대문자 또는 소문자)도 적용됩니다.
let aCharacter = Character("A")
aCharacter.isHexDigit // true
aCharacter.hexDigitValue // 10
.isLetter
문자인지 판단 합니다.
let aCharacter = Character("A")
let piCharacter = Character"π")
aCharacter.isLetter // true
aCharacter.isLetter // true (그리스 문자)
.isSymbol
심볼인지 체크 할 수 있습니다.
let smileyCharacter = Character("😀")
smileyCharacter.isSymbol // true
smileyCharacter.isLetter // false
let plusCharacter = Character("+")
plusCharacter.isSymbol // true
plusCharacter.isLetter // false
.isMathSymbol
수학 기호인지 확인합니다.
let plusCharacter = Character("+")
let smileyCharacter = Character("😀")
plusCharacter.isMathSymbol // true
smileyCharacter.isMathSymbol // false
.isCurrencySymbol
통화 기호인지 확인합니다.
let dollarCharacter = Character("$")
dollarCharacter.isCurrencySymbol // true
.isLowercase, isUppercase
대문자인지 소문자인지 확인합니다.
let bCharacter = Character("b")
let zCharacter = Character("Z")
bCharacter.isLowercase // true
zCharacter.isUppercase // true
.uppercased(), .lowercased()
대문자와 소문자로 변환을 해주고 String으로 반환합니다.
let bCharacter = Character("b")
let piCharacter = Character("π")
let zCharacter = Character("Z")
bCharacter.uppercased() // B
piCharacter.uppercased() // Π
zCharacter.lowercased() // z
let sharpSCharacter = ("ß")
sharpSCharacter.uppercased() // SS
.isCased
대문자나 소문자로 변환 할 때 문자가 변하는지 체크 합니다.
let bCharacter = Character("b")
let zCharacter = Character("Z")
zCharacter.isCased // true (z 또는 Z)
bCharacter.isCased // true (b 또는 B)
let halfCharacter = Character("½")
halfCharacter.isCased // false (항상 ½)
오늘은 여기까지 입니다. 감사합니다 ~!
연관 컨텐츠:
참조:
https://github.com/apple/swift-evolution/blob/main/proposals/0221-character-properties.md
'Apple > Apple_Swift' 카테고리의 다른 글
Swift5.0 향후 변경 될 수 있는 Enum(열거형) switch @unknown 속성 처리 SE-0192 (0) | 2023.01.03 |
---|---|
Swift 5.0 Result Type 소개 (에러 처리를 쉽고 깔끔하게 결과는 명확하게 SE-0235) (0) | 2022.12.27 |
Swift5.0 Dictionary를 위한 고차함수 .compactMapValues 소개 SE-0218 (2) | 2022.12.23 |
Swift 5.0 유니코드 스칼라 프로퍼티 추가 (Unicode Scalar Properties) SE-0211 (2) | 2022.12.20 |
Raw String(문자열)을 쉽게 표현하자 # ... # ("\" 문자 지옥에서 벗어나기) SE-0200 (0) | 2022.12.19 |