2012-04-24 181 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