c++ - 获取最后一个数据/字段超过分隔符,而不添加分隔符结束
问题描述
是否可以在字符串的最后一个定界符之后获取最后一个字符串/数据字段而不在字符串末尾添加定界符?
我正在阅读一个包含多个字符串的文件。但是,我无法以获取最后一个分隔符之后的行中的最后一个字符串/数据字段的方式解析单个字符串。我得到最后一个字符串的唯一时间是它是单行还是文件中的最后一行。
示例 - 我无法在以“;”分隔的这一行中获得43,6071
1;Maison de la Prevention;6 rue Maguelone;04 67 02 21 60;3,8795; 43,6071
以下是我尝试过的一些尝试:
string delim = ";";
vector<string> defibData;
size_t pos = 0;
for (int i = 0; i < rawData.size(); i++)
{
while ((pos = rawData[i].find(delim)) != string::npos) {
defibData.push_back(rawData[i].substr(0, pos));
rawData[i].erase(0, pos + delim.length());
}
}
for (int i = 0; i < rawData.size(); i++)
{
s = rawData[i];
string delimiter = ";";
size_t pos = 0;
string token;
while ((pos = s.find(delimiter)) != string::npos) {
token = s.substr(0, pos);
cout << token << endl;
s.erase(0, pos + delimiter.length());
}
}
解决方案
推荐阅读
- python - PyQt5 画家组对象
- android-studio - Android Studio 安装消失
- python - 如何在将数据从一个测量值复制到另一个测量值时插入当前时间?
- queue - 为什么存储在工作中不起作用?
- python - 如何在烧瓶中生成一个模板而不是另一个模板?
- html - SVG 长阴影
- ios - INIntent `setImage` 使 Swift 5 中的运行时崩溃
- laravel - 为什么不嘲笑服务提供商?
- css - 我可以在行/列对齐的地方创建一个 CSS flexbox 表吗?
- angular - 即使我的应用程序正常工作,Angular 也会抛出错误