如何使用string :: find在一个操作中找到"+"或" - "

JAN*_*JAN 4 c++ string stl find

我想找到的位置+-在复杂的号码,如

x + y*i 

x - y*i
Run Code Online (Sandbox Code Playgroud)

通常,我会这样做:

int found = str.find("+");
if (found != string::npos)
    cout << "'+' also found at: " << found << endl;


found = str.find("-");
if (found != string::npos)
    cout << "'-' also found at: " << found << endl;
Run Code Online (Sandbox Code Playgroud)

如何find在一次运行中提供多个选项?

hmj*_*mjd 14

用途std::string::find_first_of():

size_t found = str.find_first_of("+-");
Run Code Online (Sandbox Code Playgroud)

其中(来自链接的参考页面):

查找与给定字符序列中的一个字符相等的第一个字符.搜索从pos开始,即找到的字符不得位于pos之前的位置.