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

时间:2012-12-04 10:02:44

标签: c++ string stl find

我想在复数中找到+-的位置,例如

x + y*i 

x - y*i

通常,我会这样做:

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;

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

2 个答案:

答案 0 :(得分:12)

使用std::string::find_first_of()

size_t found = str.find_first_of("+-");

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

  

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

答案 1 :(得分:1)

使用find_first_of()

以下是std::string方法的参考。 http://www.cplusplus.com/reference/string/string