문자열 다루기

2016-04-29
24 Views

(1) 문자열 기본

다들 아는 자료형 중 하나인 문자열 String형을 다루는 것을 알아보려고 한다. 우선은 문자열 조작의 기본으로 문자열 할당에 대해서 알고 넘어가자.

 

var s1 = “안녕하삼”

var s2 = “Hello “Swift””

var s3 = “대한민국 n 만세”

var s4 = “I” + ” Love” + ” you”

 

변수 s1은 문자열 “안녕하셈”을 대입하고 있고 문자열을 일반적으로 큰따옴표(“)로 묶어 지정한다.  S2는 큰따옴표가 문자열에 포함된 경우를 보여주기 위해 으로 이스케이프해서 처리하는 것을 보여준다. S3는 문자열에 개행을 할 경우를 보여준다. 그리고 문자열에 연산자+를 사용하여 문자열을 연결하는 경우를 보여준다.

 

(2) 값과 연산결과 포함하기

다른 예제에서도 많이 보고 입력해보 았던 “(식)”을 사용하요 변수값과 연산결과를 문자열에 포함할 수 있다.

var a = 3

var b = 15

var s1 = “a = (a), b = (b)”

var s2 = “a + b = (a + b)”

print(s1)

print(s2)

 

(3) 문자열 상호변환하기

알파벳 소문자와 대문자를 서로 변환할 수 있다. 소문자를 대문자로 변환할 때 uppercaseString속성을 사용하고 대문자를 소문자로 변환시 lowercaseString속성을 사용한다.

 

(4) 문자열 길이와 위치 얻기

사용자가 어떤 문자를 입력했는지, 앞으로 몇자까지 입력할 수 있는지를 알기 위해 문자열 길이를 알고 싶은 경우가 있다. 그런 경우 문자열의 characters.count속성을 사용하여 문자를 얻을 수 있다.

 

let s1 = “대한민국 만세”

 

let l1 = s1.characters.count

 

print(“(s1)은 (l1)자이다”)

 

만약 지정된 문자열이 시작 또는 끝부분을 체크하고 싶다면 hasPrefix메소드를 사용하고 hasSuffix메소드를 사용하여 끝 문자열을 체크할 수 있다.

 

(5) 임의의 문자열 추가 및 삭제하기

특정 문자열을 추가 및 삽입, 삭제하는 방법을 알아보자.

문자열을 추가하려면 appendContentsOf메소드를 사용하고 인수는 추가할 문자열을 지정한다.  문자열을 삽입하는 경우 insertContentsOf메소드를 사용하고 첫번째 인수는 삽입할 문자열을 지정하고 두번쨰 인수는 삽입할 위치를 지정한다.  Hello.startIndex.advanceBt에서 startIndex는 문자열 시작위칠르를 나타내는 속성에서 advancedBy는 startIndex위치를 나타내는 방법이다.  문자열을 삭제하는 경우 removeRange메소드를 사용한다. 인수는 제거할 범위를 Range형값으로 지정하기 때문에 hello에 할당되기 때문에 문자열5번째 문자부터 끝까지라는 정보를 통해 5문자 이후 삭제된다.

 

var hello = “Hello World!”

 

hello.appendContentsOf(“!!!”)

 

hello.insertContentsOf(“,”.characters, at: hello.startIndex.advancedBy(5))

 

let range = hello.startIndex.advancedBy(5)..<hello.endIndex

hello.removeRange(range)

 

print(hello) //Hello

 

Facebook Comments

You may be interested

[Swift3] 폐쇄(Closure)에 대해 살짝 이해할 수 있는 팁
Swift 3.0
shares10 views
Swift 3.0
shares10 views

[Swift3] 폐쇄(Closure)에 대해 살짝 이해할 수 있는 팁

MJ Kim - 4월 29, 2017

몇몇 개발자를 만나 개발을 하다보면, 폐쇄(Closure)에 대해 이해를 하지 못해서 간단하게 바로 이해할 수 있는 팁을 정리해본다. 앱을 개발하다보면 https통신을…

[Swift3] UITextview의 keyboard 닫기
Swift 3.0
shares2 views
Swift 3.0
shares2 views

[Swift3] UITextview의 keyboard 닫기

MJ Kim - 4월 29, 2017

스토리보드에서 델리게이트를 선언하고 class에 UITextViewDelegate를 상속받아서 delegate=self를 viewDidLoad에서 설정하면 간단하게 해결되는데 가끔 헷깔려 하는 경우가 있어 적어본다. [crayon-59047d3d4cafc224901900/] [crayon-59047d3d4cb01065748960/] [crayon-59047d3d4cb03765895990/]…

스토리보드에서 다국어 지원 및 Xcode 8.3이상에서 이슈
Swift 3.0
shares5 views
Swift 3.0
shares5 views

스토리보드에서 다국어 지원 및 Xcode 8.3이상에서 이슈

MJ Kim - 4월 29, 2017

다국어 지원은 우선 Localizable.strings파일을 생성한 다음 언어를 지정한다. 그리고 필자가 자주 사용하는 일부 컨트롤들에 대한 확장(extension)을 추가한 다음 스토리보드에서 사용하는…