簡體   English   中英

刪除字符串中的最后一個特定字符 c#

[英]Remove last specific character in a string c#

我使用 WinForms c#。我有如下的字符串值,

string Something = "1,5,12,34,";

我需要刪除字符串中的最后一個逗號。 那么我該如何刪除它呢?

嘗試string.TrimEnd()

Something = Something.TrimEnd(',');

King King 的回答當然是正確的, Tim Schmelter 的評論對您的情況也是很好的建議。

但是如果你真的刪除 string 中的最后一個逗號,你應該找到最后一個逗號的索引並像這樣刪除它:

string s = "1,5,12,34,12345";
int index = s.LastIndexOf(',');
Console.WriteLine(s.Remove(index, 1));

輸出將是:

1,5,12,3412345

這是一個demonstration

您不太可能想要這種方式,但我想指出這一點。 請記住, String.Remove方法不會刪除原始字符串中的任何字符,它返回新字符串。

試試string.Remove();

string str = "1,5,12,34,";
string removecomma = str.Remove(str.Length-1);
MessageBox.Show(removecomma);

TrimEnd 方法采用輸入字符數組而不是字符串。 下面來自Dot Net Perls的代碼顯示了一個更有效的示例,說明如何執行與 TrimEnd 相同的功能。

static string TrimTrailingChars(string value)
{
    int removeLength = 0;
    for (int i = value.Length - 1; i >= 0; i--)
    {
        char let = value[i];
        if (let == '?' || let == '!' || let == '.')
        {
            removeLength++;
        }
        else
        {
            break;
        }
    }
    if (removeLength > 0)
    {
        return value.Substring(0, value.Length - removeLength);
    }
    return value;
}

試試下面

東西..TrimEnd(",".ToCharArray());

或者您可以先通過以下方式將其轉換為 Char Array:

string Something = "1,5,12,34,";
char[] SomeGoodThing=Something.ToCharArray[];

現在你有每個字符indexed

SomeGoodThing[0] -> '1'
SomeGoodThing[1] -> ','

玩轉它

Dim psValue As String = "1,5,12,34,123,12"
psValue = psValue.Substring(0, psValue.LastIndexOf(","))

輸出:

1,5,12,34,123

當你最后有空格時。 你可以使用下面。

ProcessStr = ProcessStr.Replace(" ", "");
Emails     = ProcessStr.TrimEnd(';');

試試這個,stringSomething1=Something.Substring(0,Something.Length - 1);

暫無
暫無

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

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