[Swift] 문자와 문자열 #1

김영민·2022년 5월 16일
0

오늘은 문자와 문자열에 대해 정리해보겠습니다 !
코딩테스트를 풀면서도 항상 문자열 관련 기능을 구글에 찾아서 적용했는데,
이번 기회에 제대로 알아놓으려고 합니다.

문자 : Character

1. 문자 선언

let char : Character = "a" //가능
let chars : Character = "abc" // 불가능 , String을 저장했기 때문에
  • 이런 식으로 Character는 한 문자만을 저장할 수 있습니다.

2. 유니코드 입력 : \u{}

let char : Character = "\u{63}" // c
  • 유니코드를 통해 문자를 입력할 수도 있습니다.

문자열

1. 문자열 생성

1. 기본

var str1 = "hello"
var str2 : String = "Bye"
  • 기본적으로 위의 방식처럼 선언 가능

2. String Interpolation

var str1 = "youngmin"
var str2 = "Hello, \(str1)" 
//str2에 저장된 값 : Hello, youngmin
  • 위처럼 () 안에 값을 넣어 사용할 수도 있다. 이를 String Interpolation이라고 한다.

3. 다른 기본 타입에서 문자열 생성

let hundred = String(100) // "100"
  • String으로 감싸서 문자열로 만들 수 있습니다.
  • 혹은 문자를 문자열로 바꿀 수도 있습니다.

4. 형식 문자열 생성

let str = String(format:"%03d", 12) // "012"
let str = String(format: "%3.2f",3.14159) // "3.14"
  • 일정한 형식에 맞는 문자열 만들기
  • 3.2f에서 3은 정렬을 위한 수이고, .2는 소수점 2번째 자리까지만 사용한다는 것으로 3번째 자리에서 반올림 합니다.
  • Foundation Framework가 필요합니다.

2. 문자열 추가

var str = "hello" + "good morning"

var str2 = "hello"
str2.append("good evening")
  • "+" 연산자로 추가할 수 있습니다.
  • append 함수로 문자나 문자열을 덧붙일 수 있습니다.

3. 문자열 비교

  • 문자열 비교: ==

str.hasPrefix("Hello") // 문자열 시작부분에 Hello가 있는지 비교
str.hasSuffix("ground") //문자열 끝 부분에 ground가 있는지 비교
  • hasPrefix : 앞부분 비교
  • hasSuffix : 뒷부분 비교

let a = "Hello"
let b = "hello"

a<b //true
a.compare(b) == .orderedSame // false
a.caseInsensitiveCompare(b) == .orderedSame // true, 대소문자 구분없이 비교하는 방법입니다.
a.compare(b, options: .caseInsensitive) == .orderedSame // true, 대소문자 구분 없이 비교
  • compare
  • 대소문자 구분 없이 비교 : .caseInsensivitve

4. 다른 타입으로 변환

let numVal = Int("123")
let doubleVal = Double("3.14")
  • 문자열 -> 정수/실수 변환
  • 변환 실패 시 nil 반환

5. 문자열 연산

let upper = str.uppercased()
let lower = str.lowercased()
  • .uppercased() : 대문자 변환
  • .lowercased() : 소문자 변환

0개의 댓글