我有一个这样输出的文件,
Joel[12813/76561198008530803] was taken by Huey[3924/252820590256923]
我已经设置了一个 getline
来扫描单词并将其存储到一个字符串中,我尝试使用 substr
但我遇到了问题。问题是括号之间的数字大小可能不同,因此当我尝试按照 find_first_of("/");
与 substr
结合使用时,我可以' 使用第二个参数,否则它可能会截断数字。我得到了第一个正斜杠之后的所有内容。
我最终想要的是提取字符串的这部分 76561198008530803
。
我试过的,
while (getline(read, line))
{
if (line.find("taken") != string::npos) {
size_t pos = line.find_first_of("/");
extension = line.substr(pos + 1);
output << extension << endl;
}
感谢您抽出宝贵时间!
最佳答案
您可以重复使用 std::string::find_first_of
。
size_t pos = line.find_first_of("/");
size_t pos2 = line.find_first_of("]");
std::string extension = line.substr(pos + 1,pos2-1-pos);
关于c++ - 子串,中间抓一 block ,大小随机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32666400/