我有一个类似于“-23.45m / abc = 53.02m / s”的字符串,我想拆开它。你认为在.net中有一个简单的方法来获得-23.45(就像使用内置的浮点解释器一样)并告诉我其余的字符串从'm'开始。
在C ++中我会使用
double num;
wchar_t* input_text = L"-23.45m / abc = 53.02m/s";
if (swscanf(input_text, L"%lf%n", &num, &count) == EOF)
return false;
pos += count;
答案 0 :(得分:5)
您可以使用正则表达式来匹配开头的double值。您需要考虑要支持的内容。例如,您是否想要支持所有这些:
您还应该考虑要解析的文化 - “1,000”可以表示“一千”或“一点零零”,具体取决于您的文化。
一旦你的规格被确定下来,写一个正则表达式应该不会太难。这将使您在一次捕获中匹配double值,在另一次捕获中匹配其余字符串。