首頁 > 後端開發 > C++ > 如何使用 C# 尋找字串中子字串的所有出現位置?

如何使用 C# 尋找字串中子字串的所有出現位置?

DDD
發布: 2025-01-04 03:36:40
原創
344 人瀏覽過

How Can I Find All Occurrences of a Substring in a String Using C#?

在C# 中尋找較大字串中子字串的所有位置

尋找較大字串中特定子字串的所有出現的任務是程式設計中常見的挑戰。在 C# 中,IndexOf 方法提供了一種簡單的方法,但它無法捕獲子字串的多個實例。

更好的替代方法是利用擴充方法。這是一個實作:

public static List<int> AllIndexesOf(this string str, string value)
{
    if (String.IsNullOrEmpty(value))
        throw new ArgumentException("the string to find may not be empty", "value");

    List<int> indexes = new List<int>();
    for (int index = 0;; index += value.Length)
    {
        index = str.IndexOf(value, index);
        if (index == -1)
            return indexes;
        indexes.Add(index);
    }
}
登入後複製

要使用此擴充方法,只需匯入它所在的命名空間並直接在字串上呼叫它:

List<int> indexes = "fooStringfooBar".AllIndexesOf("foo");
登入後複製

此方法有效地識別較大字串中的子字串,提供其位置的完整清單。

以上是如何使用 C# 尋找字串中子字串的所有出現位置?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板