【发布时间】:2020-06-06 10:23:06
【问题描述】:
我已经解析了一些 XML 数据,我想要纬度和经度信息。我需要解析的行是这样的:
trkptlat="60.397015"lon="5.32299"
这是 char 数组中的一个元素,如何将数字提取/解析为双精度数?请注意,数字精度会随着数据的增长而变化,因此我不能仅仅依靠挑选列索引。
【问题讨论】:
-
对于这种格式不正确的数据,您最好使用正则表达式
-
您可以在 regex101.com 上尝试正则表达式。这适用于您提供的示例:
lat=\"(\d+\.\d+)\"lon=\"(\d+\.\d+)\" -
我一般不要求解析 char 数组。我需要在 C++ 中解析它,因为它是我正在编写的程序的一部分。 lon 和 lat 信息是我制作程序所需的最后一部分,但我在解析方面很糟糕。重新表述:如何在 C++ 中解析这些数据,以便只剩下数字?