如何在 c++ 中从括号内获取文本

How does one get text from inside of parenthesis in c++?

本文关键字:获取 取文本 c++      更新时间:2023-10-16

我有这样的东西:("今天是死的好日子。不确定应该使用什么语法来获取它。这是我正在尝试编写的程序的功能。如上所述,它应该从主标签 s 中提取文本。我目前拥有的代码是:

std::string parenthetical(const std::string& s){
    const string foo;
    const auto start = find(foo.cbegin(), foo.cend(), '(');
    const auto finish = find_if(start, foo.cend(), [](char i) {
        if (i == '(') {
            count++;
        }else if (i == ')') {
            count--;
        }return count <= 0;});
    return 0;
}

我无法让编译器接受计数。任何想法将不胜感激。

这是做你想做的事情的简单方法。 (根据我从你的问题中收集到的信息)

#include <string>
#include <algorithm>
#include <iostream>
int main(int argc, const char * argv[]) {
    std::string str = "("Today is a good day to die.")";
    std::cout<<str<<std::endl;
    str.erase(std::remove_if(str.begin(),
                             str.end(),
                             [](char x){ return (x == '(' || x==')');}),
              str.end());
    std::cout<<str<<std::endl;
    return 0;
}

请参阅此处以供参考。

编辑:

在您提供的代码的上下文中尝试此操作

std::string parenthetical(const std::string& s){
    std::string str(s);
    str.erase(std::remove_if(str.begin(),
                             str.end(),
                             [](char x){ return (x == '(' || x==')');}),
              str.end());
    return 0;
}