从C#字符串中删除点字符

18
假设我有一个字符串 "2.36",我想要将它剪切成 "236"。
在此示例中,我使用了 Trim 函数。
String amount = "2.36";
String trimmedAmount = amount.Trim('.'); 

trimmedAmount 的值仍为 2.36。

当使用 amount.Trim('6'); 时,它能正常工作,但使用 '.' 时则不行。

我做错了什么?

非常感谢, 祝一切顺利。

4个回答

60

字符串的Trim操作是指从字符串的开头或结尾删除字符。

您只需尝试删除.,可以通过替换该字符为空来完成:

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

7

如果你想去除除数字以外的所有内容:

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

或者:

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

+1 为提供另一种答案表示赞赏,但两者都比被接受的答案慢。 - Yogu
@Yogu:是的,如果你只想删除一个特定的字符,使用“Replace”会更快。 - Guffa

5

String.Trim 可以去除字符串开头和结尾的空格。如果要去除中间的空格,需要使用 String.Replace()

例如:

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

1
Trim 可以接受一个 char[] 参数,该参数将修剪传入数组中存在的所有前导和尾随字符。 - Oded
可以的。这将来会很有用。 - Ste

4

两种方法:

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

Trim是用来删除前导和尾随字符的(默认情况下为空格)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接