“`markdown
## 使用 `contains` 方法查找字串
在 Swift 中,可以使用 `contains` 方法來檢查字串是否包含特定子字串。以下是 2025 年最新的語法示範:
“`swift
let str = “abcd1234”
print(str.contains(“a”)) // true
print(str.contains(“123”)) // true
print(str.contains(“5678”)) // false
“`
這個方法不僅適用於字串,還可以用於查找陣列中的重複字串。
“`swift
let nameArray = [“ab”, “cd”, “1234”]
print(nameArray.contains(“ab”)) // true
print(nameArray.contains(“5678”)) // false
“`
## 使用 `Set` 來處理重複元素
在 Swift 中,`Set` 是一種無序的集合,可以自動去除重複的元素。這裡是如何使用 `Set` 的示範:
“`swift
var array: [String] = []
array.append(“123”)
array.append(“456”)
array.append(“123”) // 重複值
var uniqueSet = Set
for item in array {
uniqueSet.insert(item) // 只會插入唯一的元素
}
“`
輸出結果將是:
“`swift
print(uniqueSet) // 輸出: [“123”, “456”]
“`
## 檢查兩個陣列的共同元素
你可能需要去檢查兩個陣列中有哪些元素是共同的。以下是一個函數示範,該函數會返回兩個陣列中相同的元素:
“`swift
func checkArray(array1: [String], array2: [String]) -> [String] {
var commonElements = [String]()
var set = Set
for item in array1 {
set.insert(item) // 將第一個陣列的元素加入 Set
}
for item in array2 {
if set.contains(item) {
commonElements.append(item) // 如果存在於 Set 中,則加入共同元素
}
}
return commonElements
}
“`
使用此函數:
“`swift
let array1 = [“123”, “123”, “456”, “789”, “012”]
let array2 = [“123”, “456”, “1”, “2”]
let result = checkArray(array1: array1, array2: array2)
print(result) // 輸出: [“123”, “456”]
“`
## 錯誤排除
在使用上述語法時,常見的錯誤可能包括:
1. **數據類型不匹配**:確保所有比較的值都是同一類型(例如,都是字串)。
2. **使用不當的函數**:確認所用的函數如 `contains` 和 `insert` 的使用方式正確。
## 延伸應用
這些查詢和處理技術可以用來開發更複雜的功能,例如:
– 檢查用戶輸入的有效性。
– 在應用程式中查找重複項目。
– 整合數據以製作報告。

*圖片來源:Swift程式教學示範*
“`
### Q&A(常見問題解答)
**Q1: Swift 中的 `Set` 與陣列有什麼不同?**
A1: `Set` 是一個無序的集合,並且不允許重複元素,而陣列是有序的且可以包含重複元素。
**Q2: 如何檢查一個字串是否包含多個子字串?**
A2: 可以使用 `contains` 方法進行多次檢查,或者將所有子字串放入一個陣列中並使用循環來進行檢查。
**Q3: 使用 `Set` 來去除重複元素的效率如何?**
A3: 使用 `Set` 的效率通常比使用陣列來手動檢查重複元素要高,因為 `Set` 是基於哈希表實現的,查找速度較快。
—