2012-04-24 15 views
11

Angenommen ich eine Zeichenfolge "2.36" und ich möchte es auf "236"entfernen Punkt-Zeichen aus einem String C#

getrimmt

I Trim-Funktion in Beispiel

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

Der Wert von trimmedAmount noch verwendet wird, 2.36

Wenn amount.Trim('6'); es funktioniert perfekt aber mit '.'

Was mache ich falsch?

Vielen Dank Prost

Antwort

40

Trimming ist Zeichen vom Anfang oder Ende eines Strings zu entfernen.

Sie einfach versuchen, die ., zu entfernen, die von replacing dass Charakter mit nichts getan werden kann:

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

ich hier tun: http://msdn.microsoft.com/en-us/library/system .string.replace.aspx – RvdK

3

String.Trim entfernt führende und nachfolgende Leerzeichen. Sie müssen String.Replace()

Wie verwenden:

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

'Trim' kann einen' char [] 'Parameter verwenden, der alle führenden und nachfolgenden Zeichen, die im übergebenen Array vorhanden sind, trimmt. – Oded

+0

So kann es. Das wird in Zukunft nützlich sein. – Ste

+0

Link für die Nachwelt: http://msdn.microsoft.com/en-us/library/d4tt83f9.aspx – Ste

4

Zwei Möglichkeiten:

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

Trim ist zum Entfernen von führenden und trailings Zeichen machen (wie Raum Standard).

5

Wenn Sie alles entfernen, aber die Zahlen:

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

oder:

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

Danke für die Hilfe – Pinchy

+0

+1 für die Bereitstellung einer alternativen Antworten, aber beide sind langsamer als die angenommene. – Yogu

+0

@Yogu: Ja, wenn Sie nur ein bestimmtes Zeichen entfernen möchten, ist 'Ersetzen' schneller. – Guffa

Verwandte Themen