Swift5.0 Character Properties (띄어쓰기, 공백, 숫자, 소문자 등등.. 확인 가능해요) SE-0221

안녕하세요 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 (항상 ½)

 

오늘은 여기까지 입니다. 감사합니다 ~!

 

연관 컨텐츠:

 

Swift 5.0 유니코드 스칼라 프로퍼티 추가 (Unicode Scalar Properties)

안녕하세요~! Swift 5.0에서 Unicode Scalar에 properties가 추가 되었는데요 어떤 특징들이 있는지 함께보시죠~! 들어가기 앞서 유니코드 스칼라 의미 잠깐 보고 가시죠~! 유니코드 문자에 배당된 숫자를

leviblog.tistory.com

 

참조:

https://github.com/apple/swift-evolution/blob/main/proposals/0221-character-properties.md