2012-04-24 238 views
11

假設我有一個字符串「2.36」,我希望它修剪到「236」從字符串C#刪除點字符

我示例中使用裁剪功能

String amount = "2.36"; 
String trimmedAmount = amount.Trim('.'); 

trimmedAmount的價值仍然是2.36

amount.Trim('6');它工作完美,但與'。'

我做錯了什麼?

非常感謝 乾杯

回答

40

修整被去除從字符串的開頭或結尾的字符。

你只是試圖刪除.,可以通過replacing這個角色做什麼也沒有:

string cleanAmount = amount.Replace(".", string.Empty); 
+0

我在這裏做的:http://msdn.microsoft.com/en-us/library/system .string.replace.aspx – RvdK 2012-04-24 13:35:05

3

String.Trim除去開頭和結尾的空白。您需要使用String.Replace()

像:

string amount = "2.36"; 
string newAmount = amount.Replace(".", ""); 
+1

'Trim'可以帶一個'char []'參數來修剪傳入數組中的所有前導字符和尾隨字符。 – Oded 2012-04-24 13:41:11

+0

所以它可以。這將在未來有用。 – Ste 2012-04-24 13:51:07

+0

後代鏈接:http://msdn.microsoft.com/en-us/library/d4tt83f9.aspx – Ste 2012-04-24 13:51:16

4

兩種方式:

string sRaw = "5.32"; 
string sClean = sRaw.Replace(".", ""); 

修剪是使去除領導和trailings字符(如默認爲空格)。

5

如果你想刪除一切,但數字:

String trimmedAmount = new String(amount.Where(Char.IsDigit).ToArray()); 

或:

String trimmedAmount = Regex.Replace(amount, @"\D+", String.Empty); 
+0

感謝您的幫助 – Pinchy 2012-04-24 13:52:54

+0

+1提供了一個替代的答案,但他們都比接受的慢。 – Yogu 2012-04-24 14:03:49

+0

@Yogu:是的,如果你只想刪除一個特定的字符,那麼Replace就更快。 – Guffa 2012-04-24 14:05:03