我想在复数中找到+
或-
的位置,例如
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
个多个选项?
答案 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