在字符串行中查找转义字符

时间:2015-01-19 15:38:02

标签: c++ string function find

使用std库和函数find,我怎么知道给定字符串中是否有任何转义字符?

例如:

string line = "bla bla bla \n blabla";
bool hasEscapedSequence = (line.find("\n",0) < line.size());

由于\n中的find将被转义,这显然不会奏效。如果我尝试(line.find("\\n",0) < line.size());,它似乎无法改变任何内容

我该怎么办?

1 个答案:

答案 0 :(得分:6)

line.find("\n",0)

将返回光标所在位置的子字符串。如果未找到子字符串,则返回string :: npos。 所以不应该与尺寸进行比较。

bool hasEscapedSequence = (line.find("\n") != string::npos);