子串,中间抓一块,大小随机

Sub strings, grabbing a piece in the middle, with random sizes

我有一个这样输出的文件,

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);