簡體   English   中英

獲取該String C#的一部分

[英]Get a part of that String C#

:barbosza!barbosza@barbosza.tmi.twitch.tv PRIVMSG #pggamesbr :My text

我想要第二個':'之后的部分,但是我不能被':'分割,因為有時也包含它。

您可以拆分並指定最大項數,以便第二個冒號之后的所有內容最終出現在第三個項中:

string[] parts = str.Split(new char[]{':'}, 3);

現在,第二個冒號之后的部分位於parts[2]

我猜“他也包含它”的意思是“我的文字也包含它”。

在這種情況下,請執行此操作

string toFind = "#pggamesbr :";
string myText = myString.Substring(myString.IndexOf(toFind) + toFind.Length);

我喜歡Guffa的簡單Split解決方案,如果這是您在這里所需要的,那就可以使用它。 但是,只是為了好玩...

如果遇到很多奇怪的情況-您希望使用字符串更輕松地進行操作-您可以考慮添加擴展方法來處理它們。 例如,

using System;

public static MyStringExtentions
{
    public static string After(this string orig, char delimiter)
    {
        int p = orig.indexOf(delimiter);
        if (p == -1)
            return string.Empty;
        else
            return orig.Substring(p + 1);
    }
}

然后,在現有代碼中,只要您具有using指令即可包括對MyStringExtentions的定義的引用訪問權:

string afterPart = myString.After(':').After(':');

免責聲明:我實際上沒有對此進行測試。 可能需要一些調整。 而且可能會調整為更高效等。

同樣,對於這個問題,這可能是多余的。 (為此,請參見Guffa的一個非常簡單的好答案。)當您發現自己有很多這樣的東西並且想要一種通用的方式來使用它們時,就把它扔出去。

參考。 擴展方法(C#編程指南)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM