String là kiểu dữ liệu cơ bản trong Swift, được sử dụng để lưu trữ và xử lý chuỗi ký tự. Swift cung cấp nhiều tính năng mạnh mẽ và linh hoạt cho String , từ cách khai báo đơn giản đến các thao tác phức tạp như xử lý, so sánh và thao tác trên chuỗi.
String Là Gì?
Trong Swift, String là một chuỗi các ký tự Unicode, được sử dụng để biểu diễn văn bản. Nó là một kiểu dữ liệu không thay đổi (immutable), nghĩa là một khi bạn tạo một chuỗi, bạn không thể thay đổi trực tiếp các ký tự bên trong nó. Tuy nhiên, bạn có thể tạo ra một chuỗi mới dựa trên chuỗi cũ.
Cách Khai Báo String
Bạn có thể khai báo String bằng cách sử dụng cặp dấu ngoặc kép " "
:
let greeting = "Hello, Swift!"
print(greeting) // Kết quả: Hello, Swift!
Khai Báo String Trống
var emptyString = "" // String trống
var anotherEmptyString = String()
if emptyString.isEmpty {
print("Chuỗi này rỗng!")
}
// Kết quả: Chuỗi này rỗng!
Nối Chuỗi
Swift cho phép bạn nối các chuỗi bằng toán tử +
hoặc phép gán tích hợp.Sử Dụng Toán Tử +
let firstName = "John"
let lastName = "Doe"
let fullName = firstName + " " + lastName
print(fullName) // Kết quả: John Doe
Sử Dụng Toán Tử +=
var message = "Hello"
message += ", World!"
print(message) // Kết quả: Hello, World!
Interpolation (Nội Suy Chuỗi)
Bạn có thể nhúng các giá trị biến hoặc biểu thức trực tiếp vào chuỗi bằng cú pháp \(expression)
.
let name = "Alice"
let age = 25
let introduction = "My name is \(name) and I am \(age) years old."
print(introduction)
// Kết quả: My name is Alice and I am 25 years old.
Duyệt Chuỗi
Bạn có thể duyệt qua từng ký tự trong chuỗi bằng cách sử dụng vòng lặp.
let text = "Swift"
for character in text {
print(character)
}
// Kết quả:
// S
// w
// i
// f
// t
Độ Dài Chuỗi
Swift cung cấp thuộc tính count
để lấy độ dài của chuỗi.
let text = "Hello, World!"
print("Chuỗi có \(text.count) ký tự.") // Kết quả: Chuỗi có 13 ký tự.
Kiểm Tra Chuỗi
Kiểm Tra Chuỗi Trống
let text = ""
if text.isEmpty {
print("Chuỗi rỗng!")
}
// Kết quả: Chuỗi rỗng!
Kiểm Tra Bắt Đầu Hoặc Kết Thúc
let text = "Swift Programming"
print(text.hasPrefix("Swift")) // Kết quả: true
print(text.hasSuffix("ming")) // Kết quả: true
Tìm kiếm chuỗi con:
let range = greeting.range(of: "world")
Biến Đổi Chuỗi
Swift cung cấp các phương thức giúp bạn dễ dàng thay đổi chuỗi.
Chuyển Đổi Ký Tự
let text = "Hello, Swift!"
print(text.uppercased()) // Kết quả: HELLO, SWIFT!
print(text.lowercased()) // Kết quả: hello, swift!
Xóa Khoảng Trắng
let text = " Hello, Swift! "
print(text.trimmingCharacters(in: .whitespaces))
// Kết quả: Hello, Swift!
Chuyển đổi thành chữ thường/chữ hoa:
let uppercasedString = greeting.uppercased()
let lowercasedString = greeting.lowercased()
Trích Xuất và Thay Thế
Trích Xuất Chuỗi
Substring
là một phần của một String. Nó cho phép bạn làm việc với các phần của chuỗi mà không cần tạo ra một chuỗi mới hoàn toàn.
Sử dụng substring
để lấy một phần của chuỗi:
let text = "Hello, Swift!"
let startIndex = text.index(text.startIndex, offsetBy: 7)
let endIndex = text.index(text.startIndex, offsetBy: 11)
let substring = text[startIndex...endIndex]
print(substring) // Kết quả: Swift
let greeting = "Hello, Swift!"
let index = greeting.firstIndex(of: ",") ?? greeting.endIndex
let substring = greeting[..<index] // "Hello"
Thay Thế Ký Tự
let text = "Hello, Swift!"
let newText = text.replacingOccurrences(of: "Swift", with: "World")
print(newText) // Kết quả: Hello, World!
So Sánh Chuỗi
So Sánh Giá Trị
let string1 = "Swift"
let string2 = "Swift"
if string1 == string2 {
print("Hai chuỗi giống nhau!")
}
// Kết quả: Hai chuỗi giống nhau!
So Sánh Từ Điển
let string1 = "Apple"
let string2 = "Banana"
if string1 < string2 {
print("\(string1) đứng trước \(string2) trong từ điển.") // comes before .. alphabetically
}
// Kết quả: Apple đứng trước Banana trong từ điển.
Chuyển Đổi Giữa String và Các Kiểu Khác
Từ Số Sang Chuỗi
let number = 123
let text = String(number)
print(text) // Kết quả: 123
Từ Chuỗi Sang Số
let text = "456"
if let number = Int(text) {
print(number) // Kết quả: 456
}
Các tính năng khác của String
- Multi-line strings: Sử dụng dấu ngoặc kép ba để tạo các chuỗi nhiều dòng.
- Raw strings: Sử dụng dấu backslash () để thoát các ký tự đặc biệt trong chuỗi.
- Unicode: Swift hỗ trợ đầy đủ Unicode, cho phép bạn làm việc với các ký tự từ nhiều ngôn ngữ khác nhau.
Bài Tập Thực Hành
- Viết một chương trình kiểm tra xem một chuỗi có phải là chuỗi đối xứng (palindrome) hay không.
- Xây dựng một function tính số lần xuất hiện của một ký tự cụ thể trong chuỗi.
- Viết chương trình thay thế tất cả các khoảng trắng trong chuỗi bằng ký tự
-
.
Kết Luận
String là một trong những kiểu dữ liệu được sử dụng nhiều nhất trong Swift. Việc nắm vững cách khai báo, thao tác và xử lý chuỗi sẽ giúp bạn làm việc hiệu quả hơn trong các dự án thực tế. Hãy thực hành với các ví dụ và bài tập để làm quen với các tính năng mạnh mẽ của String trong Swift! 🚀
Các chủ đề có thể mở rộng:
- Regular expression trong Swift
- Character Set
- String formatting
- So sánh hiệu năng giữa String và Substring
- Làm việc với các ngôn ngữ khác nhau trong String