“`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程式教學圖片](https://badgameshow.com/steven/wp-content/uploads/2020/11/cup-1-1.png)
*圖片來源:Swift程式教學示範*
“`

### Q&A(常見問題解答)

**Q1: Swift 中的 `Set` 與陣列有什麼不同?**
A1: `Set` 是一個無序的集合,並且不允許重複元素,而陣列是有序的且可以包含重複元素。

**Q2: 如何檢查一個字串是否包含多個子字串?**
A2: 可以使用 `contains` 方法進行多次檢查,或者將所有子字串放入一個陣列中並使用循環來進行檢查。

**Q3: 使用 `Set` 來去除重複元素的效率如何?**
A3: 使用 `Set` 的效率通常比使用陣列來手動檢查重複元素要高,因為 `Set` 是基於哈希表實現的,查找速度較快。

Categorized in: