iOS

Swift ;; Substring 알아보기

may_wonhui 2022. 9. 14. 21:46

Substring이란?

부분 문자열. 즉, 하나의 문자열(String)에서 특정 범위의 문자열을 의미한다.

 

 

 

str 상수에 문자열 "May"를 저장한다.

uc 상수에 uppercased() 함수를 통해 str 문자열을 모두 대문자로 변환한다. -> 타입을 print해보면, 그대로 String 타입이다!

 

sub 상수에 prefix 함수를 통해 str 문자열 처음부터 2자리를 저장한다. -> 타입을 print 해보면, Substring이라는 타입이 출력된다!

 

어떤 차이가 있을까??

str == "May"

uc == "MAY"

sub == "Ma"

 

uc의 경우에는, 새로운 메모리에 값을 저장한다.

sub의 경우에는, str 메모리를 공유하여 원하는 값만 가리킨다.

 

 

 

  • Substring 사용 이유
    • 메모리 절약
    • 원본 문자열의 메모리를 공유하기 때문! (Swift 4부터 적용)
    • 새로운 메모리 공간을 사용하지 않고, 원본 문자열의 메모리를 공유하면서 해당하는 부분의 문자만 가리킨다.
    • Substring의 문자열을 변경하면 해당 시점에 새로운 문자열이 생성된다.