Swift - Chuỗi

Các chuỗi trong Swift 4 là một tập hợp các ký tự có thứ tự, chẳng hạn như "Hello, World!" và chúng được đại diện bởi kiểu dữ liệu Swift 4String, do đó đại diện cho một tập hợp các giá trị của Character kiểu.

Tạo một chuỗi

Bạn có thể tạo một Chuỗi bằng cách sử dụng một chuỗi ký tự hoặc tạo một thể hiện của một lớp Chuỗi như sau:

// 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)

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau

Hello, Swift 4!
Hello, Swift 4!
Hey this is a
example of multiple Line
string by tutorialsPoint

Chuỗi trống

Bạn có thể tạo một Chuỗi trống bằng cách sử dụng một chuỗi rỗng theo nghĩa đen hoặc tạo một thể hiện của lớp Chuỗi như được hiển thị bên dưới. Bạn cũng có thể kiểm tra xem một chuỗi có trống hay không bằng cách sử dụng thuộc tính BooleanisEmpty.

// 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" )
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:

stringA is empty
stringB is empty

Hằng số chuỗi

Bạn có thể chỉ định liệu Chuỗi của bạn có thể được sửa đổi (hoặc thay đổi) bằng cách gán nó cho một biến hay nó sẽ không đổi bằng cách gán nó cho một hằng bằng cách sử dụng let từ khóa như hình bên dưới -

// 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 )

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:

Playground execution failed: error: <EXPR>:10:1: error: 'String' is not
convertible to '@lvalue UInt8'
stringB + = "--Readers--"

Nội suy chuỗi

Nội suy chuỗi là một cách để xây dựng một giá trị Chuỗi mới từ hỗn hợp các hằng số, biến, ký tự và biểu thức bằng cách bao gồm các giá trị của chúng bên trong một ký tự chuỗi.

Mỗi mục (biến hoặc hằng số) mà bạn chèn vào chuỗi ký tự được bao bọc trong một cặp dấu ngoặc đơn, bắt đầu bằng dấu gạch chéo ngược. Đây là một ví dụ đơn giản -

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

var stringA = "\(varA) times \(constA) is equal to \(varC * 100)"
print( stringA )

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:

20 times 100 is equal to 2000.0

Kết nối chuỗi

Bạn có thể sử dụng toán tử + để nối hai chuỗi hoặc một chuỗi và một ký tự hoặc hai ký tự. Đây là một ví dụ đơn giản -

let constA = "Hello,"
let constB = "World!"

var stringA = constA + constB
print( stringA )

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:

Hello,World!

Chiều dài chuỗi

Swift 4 chuỗi không có lengthnhưng bạn có thể sử dụng hàm count () toàn cục để đếm số ký tự trong một chuỗi. Đây là một ví dụ đơn giản -

var varA = "Hello, Swift 4!"

print( "\(varA), length is \((varA.count))" )

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:

Hello, Swift 4!, length is 15

So sánh chuỗi

Bạn có thể sử dụng toán tử == để so sánh hai biến chuỗi hoặc hằng số. Đây là một ví dụ đơn giản -

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" )
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:

Hello, Swift 4! and Hello, World! are not equal

Lặp lại chuỗi

Chuỗi lại là một tập hợp các giá trị trong swift 4, vì vậy chúng ta có thể lặp qua chuỗi bằng cách sử dụng các vòng lặp. -

for chars in "ThisString" {
   print(chars, terminator: " ")
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:

T h i s S t r i n g

Chuỗi Unicode

Bạn có thể truy cập biểu diễn UTF-8 và UTF-16 của một Chuỗi bằng cách lặp qua các thuộc tính utf8 và utf16 của nó như được minh họa trong ví dụ sau:

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) ")
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:

UTF-8 Codes: 
68 
111 
103 
63 
63 
63 


UTF-16 Codes: 
68 
111 
103 
63 
63 
63

Các hàm & toán tử chuỗi

Swift 4 hỗ trợ một loạt các phương thức và toán tử liên quan đến Chuỗi -

Sr.No Chức năng / Người vận hành & Mục đích
1

isEmpty

Giá trị Boolean xác định xem một chuỗi có trống hay không.

2

hasPrefix(prefix: String)

Hàm để kiểm tra xem một chuỗi tham số đã cho có tồn tại dưới dạng tiền tố của chuỗi hay không.

3

hasSuffix(suffix: String)

Hàm để kiểm tra xem một chuỗi tham số nhất định có tồn tại dưới dạng hậu tố của chuỗi hay không.

4

toInt()

Hàm chuyển giá trị Chuỗi số thành Số nguyên.

5

count()

Hàm toàn cục để đếm số ký tự trong một chuỗi.

6

utf8

Thuộc tính trả về biểu diễn UTF-8 của một chuỗi.

7

utf16

Thuộc tính trả về biểu diễn UTF-16 của một chuỗi.

số 8

unicodeScalars

Thuộc tính trả về biểu diễn Unicode Scalar của một chuỗi.

9

+

Toán tử để nối hai chuỗi, hoặc một chuỗi và một ký tự, hoặc hai ký tự.

10

+=

Toán tử để nối một chuỗi hoặc ký tự vào một chuỗi hiện có.

11

==

Toán tử để xác định bằng nhau của hai chuỗi.

12

<

Toán tử để thực hiện so sánh từ vựng để xác định xem một chuỗi có đánh giá thấp hơn chuỗi khác hay không.

13

startIndex

Để nhận giá trị tại chỉ mục bắt đầu của chuỗi.

14

endIndex

Để nhận giá trị tại chỉ mục kết thúc của chuỗi.

15

Indices

Để truy cập từng phần một. tức là tất cả các ký tự của chuỗi từng cái một.

16

insert("Value", at: position)

Để chèn một giá trị tại một vị trí.

17

remove(at: position)

removeSubrange(range)

để loại bỏ một giá trị tại một vị trí hoặc để loại bỏ một dải giá trị khỏi chuỗi.

18

reversed()

trả về mặt sau của một chuỗi