English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Swift 문자와 문자열

이 튜토리얼에서는 Swift의 성자와 문자열 사용법을 배울 것입니다. 또한 문자열과 성자에 대해 수행할 수 있는 다양한 작업을 배울 것입니다.

성자는 무엇인가요?

성자는 단일 기호(알파벳, 숫자 등)입니다. Swift의 성자는 Character 타입으로, 다음과 같이 선언됩니다:

let someCharacter:Character

Swift에서 성자를 선언하고 할당하는 방법은 무엇인가요?

불러와와 같은 문자와 같은 문자 타입의 값을 지정할 수 있지만, 따옴표 "" 내에는 단일 성자만 포함할 수 있습니다.

여러 성자를 포함하려면 String 타입으로 정의해야 합니다.

예제1성자와 할당

let someCharacter:Character = “H”
let specialCharacter:Character = “@”
print(someCharacter)
print(specialCharacter)

프로그램을 실행할 때, 출력은 다음과 같습니다:

H
@

예제2:여러 문자 할당(잘못됨)

하지만, 문자 내에 두 문자를 할당하려고 시도하면

/*
 이렇게 하면 오류가 발생합니다.
타입을 문자열로 변경하면 문제를 해결할 수 있습니다.
*/
let failableCharacter:Character = "H@"
print(failableCharacter)

위의 코드를 실행하려고 할 때, 다음과 같은 오류 메시지를 받게 됩니다:

Cannot convert value of type String to Character.(String 타입의 값을 Character로 변환할 수 없습니다。)

Unicode와 이스케이프 시퀀스로 문자 생성

Unicode를 사용하여 특별한 유형의 문자를 생성할 수도 있습니다. Unicode 코드 포인트(n이 16진수)를 사용하여 Unicode(\u {n})를 생성할 수 있습니다.

예제3:Unicode 문자 생성

let heartShape:Character = "\u{2665"}
print(heartShape)

프로그램을 실행할 때, 출력은 다음과 같습니다:

위의 예제에서 코드U + 2665하트 모양 문자를 생성했습니다. 하지만 \u {2665}}은 양쪽 쌍따옴표 " "로 감싸져 있지만, 컴파일러는 String으로 인식하지 않습니다. 왜냐하면 \u {n} 이스케이프 시퀀스를 사용했기 때문입니다. 리터럴 내의 이스케이프 시퀀스는 자신을 대표하지 않습니다.

문자열이 무엇인가요?

문자열은 문자의 집합입니다. Swift의 문자열은 String 타입이며 다음과 같이 선언됩니다:

let someString:String

Swift에서 문자열을 선언하고 할당하는 방법은 무엇인가요?

사용할 수 있습니다.문자열 리터럴String 타입으로 값을 할당합니다. 문자열 리터럴은 양쪽 쌍따옴표 " "로 감싸인 문자의 집합입니다.

예제4:문자열의 선언과 할당

let someString:String = "Hello, world!"
let someMessage = "I love Swift."
print(someString)
print(someMessage)

프로그램을 실행할 때, 출력은 다음과 같습니다:

Hello, world!
I love Swift.

여기서 'Hello, world! '과 'I love Swift. '은 각각 someString과 someMessage 문자열 변수를 생성하는 문자열입니다.

문자열의 작업

String에는 가장 일반적인 작업을 처리하는 내장 함수와 속성이 있습니다. 예를 들어: 문자열을 연결하려면, 대문자로 변환하거나 대문자로 변환하세요. 아래에서 일반적인 작업 몇 가지를 탐구해 보겠습니다:

문자열 비교

사용할 수 있습니다.비교 연산자 (==) 간단하게 두 문자열이 일치하는지 확인합니다. 두 문자열이 일치하면 연산자가 true를 반환하며, 다를 경우 false를 반환합니다。

예제5Swift에서의 문자열 비교

let someString = "Hello, world!"
let someMessage = "I love Swift."
let someAnotherMessage = "Hello, world!"
print(someString == someMessage)
print(someString == someAnotherMessage)

프로그램을 실행할 때, 출력은 다음과 같습니다:

false
true

문자열 결합

사용할 수 있습니다덧셈 연산자 (+)을 사용하거나복합 할당 연산자 (+=)를 사용하여 두 개의 다른 문자열 값을 더합니다. 또한 문자를 문자열에 추가할 수 있는 append 메서드를 사용할 수도 있습니다/를 사용하여

예제6Swift에서의 문자열 연결

let helloStr = "Hello, "
let worldStr = "World"
var result = helloStr + worldStr
print(result)
result.append("!")
print(result)

프로그램을 실행할 때, 출력은 다음과 같습니다:

Hello, World
Hello, World!

위의 프로그램에서는 문자를 추가하고 사용하여+연산자가 하나의문자열 result. 따라서 helloStrworldStrprint(result)를 호출하면, 화면에 출력됩니다Hello, World)을 사용하거나

또한 어떤 문자나 문자열을 추가할 수 있습니다. result.append("!")는 문자열의 끝에 ! 문자를 추가합니다. 따라서 print(result)를 호출하면, 화면에 출력됩니다Hello, World!)을 사용하거나

고급 할당 연산자를 사용하여 문자열을 연결

고급 할당 연산자(+ =)를 사용하여 문자열을 연결합니다.

예제7를 사용하여+ = 연산자의 문자열 연결

var helloStr = "Hello, "
let worldStr = "World!"
helloStr += worldStr
print(helloStr)

프로그램을 실행할 때, 출력은 다음과 같습니다:

Hello, World!

helloStr에서 var 대신 let을 사용했다는 점에 주의하세요. 이미 helloStr 상수를 let으로 정의했다면, 이후로는 사용할 수 없습니다. += 연산자를 변경하면 오류가 발생합니다. 따라서 helloStr 변수를 정의해야 합니다.

문자열 삽입

이것은 간단한 과정입니다. 문자열 표현식이며, 변수, 상수 등이 포함됩니다. 예를 들어, 플레이어의 이름과 점수가 두 상수에 저장되어 있다고 가정해 보겠습니다:

let playerName = "Jack"
let playerScore = 99

지금, 플레이어에게 메시지를 표시해야 합니다, "축하합니다Jack!귀하의 최고 점수는99。” 여기서, 단일 문자열 내에 상수 값을 사용하는 방법이 필요합니다。

이를 통해 문자열 연결을 사용할 수 있습니다:

let congratsMessage = "축하합니다 " + playerName + "!. 귀하의 최고 점수는 " + playerScore + "."
print(congratsMessage)

하지만, 이 방법의 가독성은 좋지 않습니다。

따라서, 메시지를 표시하는 데 문자열 삽입을 사용하는 간단한 방법이 있습니다. 삽입은 문자열 텍스트 내에 변수나 상수의 값을 포함하는 과정입니다。

변수나 상수를 문자열 레이터에 삽입하려면 괄호로 묶어서 ( )를 사용하고, 역문자(`)로 접두사로 사용합니다(\)。

예제8:Swift의 문자열 삽입

let playerName = "Jack"
let playerScore = 99
let congratsMessage = "축하합니다\(playerName)!. 귀하의 최고 점수는 \(playerScore)."
print(congratsMessage)

프로그램을 실행할 때, 출력은 다음과 같습니다:

축하합니다, Jack!. 귀하의 최고 점수는 99.

문자열 내장 함수와 속성:

1. isEmpty(비어 있는지 확인)

이 함수는 문자열이 비어 있는지 확인합니다. 문자열이 비어 있으면 true를 반환하며, 그렇지 않으면 false를 반환합니다。

예제9:isEmpty

var emptyString = ""
print(emptyString.isEmpty)

프로그램을 실행할 때, 출력은 다음과 같습니다:

true

2.capitalized(단어 대문자)

이 속성은 문자열 내의 각 단어를 대문자로 변환하는 데 사용됩니다。

예제10:대문자

let someString = "hello, world!"
print(someString.capitalized)

프로그램을 실행할 때, 출력은 다음과 같습니다:

Hello, World!

3.uppercased와 lowercased(문자열 대문자와 소문자)

대문자 함수는 문자열을 대문자로 변환하며, 소문자 함수는 문자열을 소문자로 변환합니다。

예제11:uppercased()와 lowercased()

let someString = "Hello, World!"
print(someString.uppercased())
print(someString.lowercased())

프로그램을 실행할 때, 출력은 다음과 같습니다:

HELLO, WORLD!
hello, world!

4.count (계산/길이)

이 속성은 문자열 내의 문자 총 수를 계산하는 데 사용됩니다。

예제12:계산

let someString = "Hello, World!"
print(someString.count)

프로그램을 실행할 때, 출력은 다음과 같습니다:

13

5. hasPrefix

이 함수는 문자열이 특정 문자로 시작하는지 확인하고 부울 값을 반환합니다. 문자열 프리픽스가 제공된 값과 일치하면 true를 반환하며, 그렇지 않으면 false를 반환합니다。

예제13:hasPrefix()

let someString = "Hello, World!"
print(someString.hasPrefix("Hell"))
print(someString.hasPrefix("hell"))

프로그램을 실행할 때, 출력은 다음과 같습니다:

true
false

6hasSuffix

이 함수는 문자열이 특정 문자로 끝나는지 확인하고,布尔 값을 반환합니다. 문자열의 후缀가 제공된 값과 일치하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

예제14:hasSuffix()

print(someString.hasSuffix("rld!"))
print(someString.hasSuffix("Rld!"))

프로그램을 실행할 때, 출력은 다음과 같습니다:

true
false