스위프트 문자열


Swift 문자열은 문자 모음입니다. 예를 들어 "Hello, World!"는 순서가 지정된 문자 유형 값의 모음이고 해당 데이터 유형은 String입니다.


문자열 만들기

문자열 리터럴이나 String 클래스의 인스턴스를 사용하여 문자열을 만들 수 있습니다.

import Cocoa

// 使用字符串字面量
var stringA = "Hello, World!"
print( stringA )

// String 实例化
var stringB = String("Hello, World!")
print( stringB )

위 프로그램 실행의 출력은 다음과 같습니다.

Hello, World!
Hello, World!

빈 문자열

비어 있는 문자열을 사용할 수 있습니다. 문자열 리터럴을 변수에 할당하거나 String 클래스의 인스턴스를 초기화하여 빈 문자열을 초기화합니다. 문자열 속성 isEmpty를 사용하여 문자열이 비어 있는지 확인할 수 있습니다.

import Cocoa

// 使用字符串字面量创建空字符串
var stringA = ""

if stringA.isEmpty {
   print( "stringA 是空的" )
} else {
   print( "stringA 不是空的" )
}

// 实例化 String 类来创建空字符串
let stringB = String()

if stringB.isEmpty {
   print( "stringB 是空的" )
} else {
   print( "stringB 不是空的" )
}

위의 프로그램 실행 출력은 다음과 같습니다.

stringA 是空的
stringB 是空的

문자열 상수

문자열을 변수나 상수에 할당할 수 있으며 변수는 수정 가능합니다. 상수는 수정할 수 없습니다.

import Cocoa

// stringA 可被修改
var stringA = "php中文网:"
stringA += "http://www.php.cn"
print( stringA )

// stringB 不能修改
let stringB = String("php中文网:")
stringB += "http://www.php.cn"
print( stringB )

위 프로그램의 실행 출력은 stringB가 상수이고 수정될 수 없다고 생각하여 오류를 보고합니다.

error: left side of mutating operator isn't mutable: 'stringB' is a 'let' constant
stringB += "http://www.php.cn"

문자열에 값 삽입

문자열 보간은 새 문자열을 작성하는 방법입니다. 상수, 변수, 리터럴 및 표현식을 포함할 수 있습니다. 삽입하는 문자열 리터럴의 각 항목은 백슬래시가 접두사로 붙은 괄호로 묶여 있습니다.

import Cocoa

var varA   = 20
let constA = 100
var varC:Float = 20.0

var stringA = "\(varA) 乘于 \(constA) 等于 \(varC * 100)"
print( stringA )

위 프로그램 실행의 출력은 다음과 같습니다.

20 乘于 100 等于 2000.0

문자열 연결

문자열은 연결을 위해 + 숫자로 전달될 수 있습니다.

import Cocoa

let constA = "php中文网:"
let constB = "http://www.php.cn"

var stringA = constA + constB

print( stringA )

위 프로그램 실행의 출력 결과는 다음과 같습니다.

php中文网:http://www.php.cn

String length

문자열 길이는 String.characters.count 속성을 사용하여 계산되며, 예는 다음과 같습니다.

import Cocoa

var varA   = "www.php.cn"

print( "\(varA), 长度为 \(varA.characters.count)" )

위 프로그램 실행 출력 결과는 다음과 같습니다.

www.php.cn, 长度为 14

문자열 비교

==를 사용하여 두 문자열이 동일한지 비교할 수 있습니다.

import Cocoa

var varA   = "Hello, Swift!"
var varB   = "Hello, World!"

if varA == varB {
   print( "\(varA) 与 \(varB) 是相等的" )
} else {
   print( "\(varA) 与 \(varB) 是不相等的" )
}

위 프로그램 실행의 출력 결과는 다음과 같습니다.

Hello, Swift! 与 Hello, World! 是不相等的

유니코드 string

유니코드는 텍스트 인코딩에 대한 국제 표준으로, Swift의 문자열 유형은 유니코드를 기반으로 구축되었습니다. 문자열에서 UTF-8 및 UTF-16 인코딩을 반복하고 반복할 수 있습니다. 예는 다음과 같습니다.

import Cocoa

var unicodeString   = "php中文网"

print("UTF-8 编码: ")
for code in unicodeString.utf8 {
   print("\(code) ")
}

print("\n")

print("UTF-16 编码: ")
for code in unicodeString.utf16 {
   print("\(code) ")
}

위 프로그램 실행의 출력 결과는 다음과 같습니다.

UTF-8 编码: 
232 
143 
156 
233 
184 
159 
230 
149 
153 
231 
168 
139 
UTF-16 编码: 
33756 
40479 
25945 
31243

문자열 함수 및 연산자

Swift는 다음 유형의 문자열을 지원합니다. 함수 및 연산자:

일련 번호함수/연산자 및 설명
1

isEmpty

은 문자열이 비어 있는지 확인하고 부울 값을 반환합니다

2

hasPrefix(접두사: 문자열)

문자열에 특정 접두사가 있는지 확인

3

hasSuffix(접미사: 문자열)

문자열에 다음이 있는지 확인하세요. 특정 접미사.

4

Int(String)

문자열 숫자를 정수로 변환합니다. 예:

let myString: String = "256"
let myInt: Int? = Int(myString)


5

String.characters.count

문자열 길이 계산

6

utf 8

UTF-8 인코딩에 액세스하기 위한 문자열 utf8 속성

7

utf16

utf8 속성

8

unicodeScalars을 반복하여 문자열의 UTF-16 인코딩에 액세스할 수 있습니다.

문자열을 반복할 수 있습니다. 값 unicodeScalars 속성을 사용하여 유니코드 스칼라 인코딩에 액세스합니다.

9

+

두 문자열을 연결하고 새 문자열

10

+=

연결 연산자 양쪽에 문자열을 추가하고 새 문자열을 왼쪽 연산자 변수에 할당합니다.

11

==

두 문자열이 같은지 확인

12

< ;

두 문자열을 비교하고 두 문자열의 문자를 하나씩 비교합니다.

13

!=

두 문자열을 비교하여 동일한지 확인합니다.