簡體   English   中英

使用string.Replace(char,char)不會修改我的字符串

[英]Using string.Replace(char, char) does not modify my string

我有一個輸入字符串input ,值0.003 m

我需要做一些事情;

  • 將標簽剝離到底
  • 將所有點( . )替換為逗號( ,

這是我想出的:

try
{
    if (input == "")
    {
        throw new Exception("Cannot have an empty String")
    }

    if(input.Contains('.'))
    {
        input.Replace('.', ',');
    }

    char[] CharactersToStrip = { ' ', 'm', 'k', 'g' };
    string output = input.TrimEnd(CharactersToStrip);

    return output;
}
catch (Exception Exception)
{
    throw new Exception(Exception.Message);
}

字符串是不可變的,您必須重新分配它: input = input.Replace('.', ',');

關於異常主題,有幾點要說明:

  • 不要拋出一般的Exception而是拋出一個更具描述性的子類
  • 與上述相同,但使用“抓住”而不是“拋出”
  • 為變量Exception命名會引起很多混亂並違反命名約定。

您需要將替換分配回輸入:

if (input.Contains('.'))
{
    input = input.Replace('.', ',');
}

另外,您的try-catch完全是多余的。 您要做的只是破壞堆棧信息,因此將其完全刪除。

嘆息,已經漫長的一天。 我需要給替換后的字符串一個值,它不能在其內部修復。

即。 input = input.replace('.', ',');

不管怎么說,還是要謝謝你。

暫無
暫無

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

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