문자열 다루기

2016-04-29
9 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

Xcode 기능 확장(Extension) 제거하기
Xcode
shares3 views
Xcode
shares3 views

Xcode 기능 확장(Extension) 제거하기

MJ Kim - 3월 18, 2017

Mac에서 Xcode Source Editor Extension등의 기능확장을 사용하다보면 디버깅시 시스템 환경 설정의 확장이 앱에 등록되는 경우가 있다. 계속해서 목록이 남아 있기…

iOS App Store Review(앱 심사약관) 번역
Swift 3.0
shares109 views
Swift 3.0
shares109 views

iOS App Store Review(앱 심사약관) 번역

MJ Kim - 3월 15, 2017

App Store Review를 번역했다. 사실 이번에 좀 애매한 리젝을 당해서 그걸 이해하고자 정리해본다. 원문링크: https://developer.apple.com/app-store/review/guidelines/ 1. 이약관은? 1.1 앱 개발자로서 프로그램의…

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi
IoT by Raspberry Pi
shares7 views
IoT by Raspberry Pi
shares7 views

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi

MJ Kim - 3월 04, 2017

RPi1114-Raspberry Pi전원제어 모듈이 있다. 이 제품은 40Pin GPIO핀헤더에 연결하여 사용하는 모듈로 Cortax-M0마이크로컨트롤러 LPC1114를 내장하고 Raspberry Pi의 시작과 정지 순서등을 프로그래밍할…