2012-04-24 17 views
11

मान लें मैं एक स्ट्रिंग "2.36" है और मैं इसे "236"से एक स्ट्रिंग सी # डॉट चरित्र निकालें

मैं उदाहरण में ट्रिम फ़ंक्शन का उपयोग किया

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

3

String.Trim प्रमुख और रिक्त स्थान को अनुगामी निकाल देता है। आप का उपयोग करने के String.Replace()

तरह की जरूरत है:

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

'ट्रिम 'एक' char [] 'पैरामीटर ले सकता है जो पारित सरणी में मौजूद सभी प्रमुख और पीछे वाले वर्णों को ट्रिम करेगा। – Oded

+0

तो यह कर सकता है। यह भविष्य में उपयोगी होगा। – Ste

+0

वंशावली के लिए लिंक: http://msdn.microsoft.com/en-us/library/d4tt83f9.aspx – Ste

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

+0

+1 सहायता के लिए धन्यवाद, लेकिन उनमें से दोनों स्वीकार किए गए एक से धीमे हैं। – Yogu

+0

@Yogu: हाँ, अगर आप केवल एक विशिष्ट चरित्र को हटाना चाहते हैं, तो 'बदलें' तेज़ है। – Guffa

संबंधित मुद्दे