最簡單做法:IndexOf
string a = "dahioh123geug";
string b = "123";
if (a.IndexOf(b) > -1)
{
// 字串 a 包含字串 b
Console.WriteLine("找到");
}
其他常用方法
| 方法 | 回傳值 | 說明 |
Contains | bool | .NET Core 2.0+ / .NET Standard 2.1+ 可用,語意最清晰 |
IndexOf | int | 所有版本支援,回傳位置或 -1 |
StartsWith/EndsWith | bool | 判斷前綴/後綴 |
Regex.IsMatch | bool | 需正則表達式支援時使用 |
大小寫不敏感比較
bool exists = a.IndexOf(b, StringComparison.OrdinalIgnoreCase) >= 0;
// 或
bool exists = a.Contains(b, StringComparison.OrdinalIgnoreCase); // .NET 5+
效能提示
- 單次檢查:
Contains/IndexOf 差異微小。
- 大量重複檢查同一關鍵字:考慮建立
HashSet<string> 或使用 Aho-Corasick 多模式比對演算法。