我有这种类型的文件,直到每个;
例如,从这一行:
[
Armenia >> Azerbaijan: 787 km; Georgia: 164 km; Iran: 35 km; Turkey: 268 km; Nagorno-Karabakh Republic;
]
Armenia >> Azerbaijan: 787 km; then Georgia: 164 km; upto Nagorno-Karabakh Republic;
如何拆分字符串?即:亚美尼亚和阿塞拜疆以及int值,即787
答案 0 :(得分:0)
如果您的文字已包含在std::string
变量中,则可以使用find
方法和substr
方法提取文字:
std::string text; // Text line read from file.
std::string::size_type position = text.find(" >> ");
std::string country;
std::string city;
if (position != std::string::npos)
{
country = text.substr(1, position - 1);
// Skip over " >> ";
position += 4;
std::string::size_type position2 = text.find(";", position);
if (position2 != std::string::npos)
{
city = text.substr(position, position2 - position);
}
}
您还可以使用find_first_not_of()
跳过空格并提取数字。接下来,有许多方法可以将数字的文本表示转换为内部表示(例如stoi
)。
还有更多的可能性,我只展示了一个。