我有一个字符串方含字母字符,例如:如何从字符串中删除所有字母字符?
- 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