C++ 通过分隔符获取最后一个数据/字段,而不在末尾添加分隔符
是否可以使最后一个字符串/数据字段超过字符串中的最后一个分隔符,而不在字符串末尾添加分隔符 我正在读取一个包含多个字符串的文件。但是,我不能以一种方式解析单个字符串,即获取行中超过最后一个分隔符的最后一个字符串/数据字段。我得到最后一个字符串的唯一时间是它是单行还是文件中的最后一行 示例-我无法在以“;”分隔的此行中获取436071 一,;预防艾滋病;马圭隆街6号;04 67 02 21 60;3,8795;436071 以下是我尝试过的几次尝试:C++ 通过分隔符获取最后一个数据/字段,而不在末尾添加分隔符,c++,string,parsing,C++,String,Parsing,是否可以使最后一个字符串/数据字段超过字符串中的最后一个分隔符,而不在字符串末尾添加分隔符 我正在读取一个包含多个字符串的文件。但是,我不能以一种方式解析单个字符串,即获取行中超过最后一个分隔符的最后一个字符串/数据字段。我得到最后一个字符串的唯一时间是它是单行还是文件中的最后一行 示例-我无法在以“;”分隔的此行中获取436071 一,;预防艾滋病;马圭隆街6号;04 67 02 21 60;3,8795;436071 以下是我尝试过的几次尝试: string delim = ";&
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());
}
}
字符串delim=“;”;
矢量数据;
大小\u t pos=0;
对于(int i=0;i