Swift-문자열
Swift 4의 문자열은 "Hello, World!"와 같이 정렬 된 문자 모음입니다. Swift 4 데이터 유형으로 표시됩니다.String, 차례로 다음 값의 모음을 나타냅니다. Character 유형.
문자열 만들기
다음과 같이 문자열 리터럴을 사용하거나 문자열 클래스의 인스턴스를 생성하여 문자열을 만들 수 있습니다.
// String creation using String literal
var stringA = "Hello, Swift 4!"
print( stringA )
// String creation using String instance
var stringB = String("Hello, Swift 4!")
print( stringB )
//Multiple line string
let stringC = """
Hey this is a
example of multiple Line
string by tutorialsPoint
"""
print(stringC)
위의 코드를 컴파일하여 실행하면 다음과 같은 결과가 나옵니다.
Hello, Swift 4!
Hello, Swift 4!
Hey this is a
example of multiple Line
string by tutorialsPoint
빈 문자열
빈 문자열 리터럴을 사용하거나 아래와 같이 String 클래스의 인스턴스를 생성하여 빈 문자열을 생성 할 수 있습니다. Boolean 속성을 사용하여 문자열이 비어 있는지 여부를 확인할 수도 있습니다.isEmpty.
// Empty string creation using String literal
var stringA = ""
if stringA.isEmpty {
print( "stringA is empty" )
} else {
print( "stringA is not empty" )
}
// Empty string creation using String instance
let stringB = String()
if stringB.isEmpty {
print( "stringB is empty" )
} else {
print( "stringB is not empty" )
}
위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다.
stringA is empty
stringB is empty
문자열 상수
문자열을 변수에 할당하여 수정 (또는 변형) 할 수 있는지 여부를 지정하거나 다음을 사용하여 상수에 할당하여 상수가 될지 여부를 지정할 수 있습니다. let 아래와 같이 키워드-
// stringA can be modified
var stringA = "Hello, Swift 4!"
stringA + = "--Readers--"
print( stringA )
// stringB can not be modified
let stringB = String("Hello, Swift 4!")
stringB + = "--Readers--"
print( stringB )
위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다.
Playground execution failed: error: <EXPR>:10:1: error: 'String' is not
convertible to '@lvalue UInt8'
stringB + = "--Readers--"
문자열 보간
문자열 보간은 문자열 리터럴 내에 값을 포함하여 상수, 변수, 리터럴 및 표현식의 혼합에서 새 문자열 값을 구성하는 방법입니다.
문자열 리터럴에 삽입하는 각 항목 (변수 또는 상수)은 백 슬래시로 시작하는 한 쌍의 괄호로 묶입니다. 다음은 간단한 예입니다.
var varA = 20
let constA = 100
var varC:Float = 20.0
var stringA = "\(varA) times \(constA) is equal to \(varC * 100)"
print( stringA )
위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다.
20 times 100 is equal to 2000.0
문자열 연결
+ 연산자를 사용하여 두 문자열 또는 문자열과 문자 또는 두 문자를 연결할 수 있습니다. 다음은 간단한 예입니다.
let constA = "Hello,"
let constB = "World!"
var stringA = constA + constB
print( stringA )
위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다.
Hello,World!
문자열 길이
Swift 4 문자열에는 length속성이지만 전역 count () 함수를 사용하여 문자열의 문자 수를 계산할 수 있습니다. 다음은 간단한 예입니다.
var varA = "Hello, Swift 4!"
print( "\(varA), length is \((varA.count))" )
위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다.
Hello, Swift 4!, length is 15
문자열 비교
== 연산자를 사용하여 두 문자열 변수 또는 상수를 비교할 수 있습니다. 다음은 간단한 예입니다.
var varA = "Hello, Swift 4!"
var varB = "Hello, World!"
if varA == varB {
print( "\(varA) and \(varB) are equal" )
} else {
print( "\(varA) and \(varB) are not equal" )
}
위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다.
Hello, Swift 4! and Hello, World! are not equal
문자열 반복
문자열은 다시 스위프트 4에서 값의 모음이므로 루프를 사용하여 문자열을 반복 할 수 있습니다. −
for chars in "ThisString" {
print(chars, terminator: " ")
}
위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다.
T h i s S t r i n g
유니 코드 문자열
다음 예제와 같이 utf8 및 utf16 속성을 반복하여 문자열의 UTF-8 및 UTF-16 표현에 액세스 할 수 있습니다.
var unicodeString = "Dog???"
print("UTF-8 Codes: ")
for code in unicodeString.utf8 {
print("\(code) ")
}
print("\n")
print("UTF-16 Codes: ")
for code in unicodeString.utf16 {
print("\(code) ")
}
위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다.
UTF-8 Codes:
68
111
103
63
63
63
UTF-16 Codes:
68
111
103
63
63
63
문자열 함수 및 연산자
Swift 4는 Strings와 관련된 다양한 메소드와 연산자를 지원합니다.
Sr. 아니요 | 기능 / 운영자 및 목적 |
---|---|
1 | isEmpty 문자열이 비어 있는지 여부를 결정하는 부울 값입니다. |
2 | hasPrefix(prefix: String) 주어진 매개 변수 문자열이 문자열의 접두어로 존재하는지 여부를 확인하는 기능입니다. |
삼 | hasSuffix(suffix: String) 주어진 매개 변수 문자열이 문자열의 접미사로 존재하는지 여부를 확인하는 기능입니다. |
4 | toInt() 숫자 문자열 값을 정수로 변환하는 함수입니다. |
5 | count() 문자열의 문자 수를 계산하는 전역 함수입니다. |
6 | utf8 문자열의 UTF-8 표현을 반환하는 속성입니다. |
7 | utf16 문자열의 UTF-16 표현을 반환하는 속성입니다. |
8 | unicodeScalars 문자열의 유니 코드 스칼라 표현을 반환하는 속성입니다. |
9 | + 두 문자열, 문자열과 문자 또는 두 문자를 연결하는 연산자입니다. |
10 | += 기존 문자열에 문자열 또는 문자를 추가하는 연산자입니다. |
11 | == 두 문자열이 같은지 확인하는 연산자입니다. |
12 | < 한 문자열이 다른 문자열보다 작은 것으로 평가되는지 확인하기 위해 사전 식 비교를 수행하는 연산자입니다. |
13 | startIndex 문자열의 시작 인덱스에서 값을 가져옵니다. |
14 | endIndex 문자열의 끝 인덱스에서 값을 가져옵니다. |
15 | Indices indeces에 하나씩 액세스합니다. 즉, 문자열의 모든 문자를 하나씩. |
16 | insert("Value", at: position) 위치에 값을 삽입합니다. |
17 | remove(at: position) removeSubrange(range) 위치에서 값을 제거하거나 문자열에서 값 범위를 제거합니다. |
18 | reversed() 문자열의 역을 반환 |