我有一個字符串方含字母字符,例如:如何從字符串中刪除所有字母字符?
- 254.69米
- 26.56釐米
- 23.36英寸
- 100.85英尺
我想從上述字符串中刪除所有字母字符(單位),以便我可以調用double.Parse()方法。
我有一個字符串方含字母字符,例如:如何從字符串中刪除所有字母字符?
我想從上述字符串中刪除所有字母字符(單位),以便我可以調用double.Parse()方法。
這應該工作:
Regex.Replace(s, "[^0-9.]", "")
你應該能夠解決這個使用正則表達式。以下引用添加到您的項目:
using System.Text.RegularExpressions;
後,您可以使用下列內容:
string value = Regex.Replace(<yourString>, "[A-Za-z ]", "");
double parsedValue = double.Parse(value);
假設你只有字母和空間單位。從谷歌的番石榴庫
使用CharMatcher API:
String magnitudeWithUnit = "254.69 meter"; String magnitude = CharMatcher.inRange('a', 'z').or(inRange('A', 'Z')).removeFrom(magnitudeWithUnit);
做靜態導入CharMatcher.inRange(..)。您可以修剪尾部空白的結果。
真的不會推薦外部依賴的東西,由c#/ BCL支持 – 2017-11-02 12:31:40
使用LINQ:
using System.Linq;
string input ="57.20000 KG ";
string output = new string(input.Where(c=>(Char.IsDigit(c)||c=='.'||c==',')).ToArray());
這只是一件小事:這個解決方案消除了對System.Text.RegularExpressions的依賴 - 這是我目前正在使用的應用程序中不常用的。 – condiosluzverde 2018-01-03 23:18:43
可能想保留任何跡象:' 「[^ 0-9 + - ]」' – BillP3rd 2010-09-02 06:50:34
@ BillP3rd - 但想刪除alphabates和字符串是與成員單位。你真的認爲它是必需的嗎? – 2010-09-02 06:52:47
感謝Pranay的解決方案。 BillP3rd,目前我不需要+號 - 但是感謝更新,未來我可能會保留這些跡象。 – 2010-09-02 06:59:03