【发布时间】:2023-03-19 00:03:01
【问题描述】:
所以我下载了十几个字符串,下面是我需要解析的示例。
“澳大利亚 036 AUD 1 4,713831 4,728015 4,742199”
“Vel. Britanija 826 GBP 1 10,300331 10,331325 10,362319”
所以我的第一个想法是手动计算我需要的数字在哪里(第二个,4,728015 或 10,331325 在示例中)并获取子字符串。(52,8) 但后来我意识到我正在解析的字符串中很少有 >9 的数字,所以我需要一个 (51,9) 的子字符串来处理这种情况,所以我不能这样做
第二个想法是将所有的数字(如字符)保存在一个向量中,然后获取向量[4]并将其保存到一个单独的变量中。
第三个是循环字符串,直到我将自己定位在第 5 组空格之后,然后将其子串。
只是寻找一些关于什么是“最佳”的反馈。
【问题讨论】:
-
使用 getline 创建以空格分隔的子字符串。合并早期的,直到你有 7 个。使用第 5 组
-
数据格式使得优雅的解决方案变得困难,尤其是因为第一个字段中允许有空格。我建议阅读一行文本并搜索第一个非数字字符;它定义了第一个字段的内容。其余字段可以使用
std::istringstream和operator>>提取。 -
这里有点新手,我能麻烦你提供一个代码示例吗?
-
你想让别人帮你做作业吗?
-
这叫做“寻求帮助”。我相信你在新手时曾经使用过这种技术。
标签: c++ string algorithm loops