2012-04-24 26 views
11

Si supponga ho una stringa "2.36" e lo voglio tagliato a "236"Rimuovere carattere punto da una stringa C#

ho usato la funzione Trim nell'esempio

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

Il valore di trimmedAmount è ancora 2.36

Quando amount.Trim('6'); funziona perfettamente ma con '.'

Cosa sto facendo male?

Grazie mille Saluti

risposta

40

Taglio sta rimuovendo caratteri dall'inizio o alla fine di una stringa.

si sta semplicemente cercando di rimuovere il ., che può essere fatto da replacing quel personaggio con niente:

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

che faccio qui: http://msdn.microsoft.com/en-us/library/system .string.replace.aspx – RvdK

3

String.Trim rimuove spazi iniziali e finali. È necessario utilizzare String.Replace()

come:

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

'Trim' può prendere un parametro' char [] 'che taglierà tutti i caratteri iniziali e finali presenti nell'array passato. – Oded

+0

Quindi può. Ciò sarà utile in futuro. – Ste

+0

Link per i posteri: http://msdn.microsoft.com/en-us/library/d4tt83f9.aspx – Ste

4

due modi:

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

Trim è fare per la rimozione di personaggi principali e trailings (ad esempio lo spazio per impostazione predefinita).

5

Se si desidera rimuovere tutto, ma le cifre:

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

o:

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

Grazie per l'aiuto – Pinchy

+0

+1 per fornire risposte alternative, ma entrambe sono più lente di quella accettata. – Yogu

+0

@Yogu: Sì, se si desidera rimuovere solo un carattere specifico, 'Sostituisci' è più veloce. – Guffa

Problemi correlati