如何检查字符串是否包含char?

时间:2017-04-26 08:54:05

标签: c++ c++11 c++14 stdstring

你好我有一个我读过的文本文件,我必须知道其中一个字符串是否包含[所以我用过:

if(array[i] == "[")

但问题是[不是array = [,所以它不起作用。

你有什么想法可以解决这个问题吗?

谢谢

6 个答案:

答案 0 :(得分:28)

查看文档"string find"

std::string s = "hell[o";
if (s.find('[') != std::string::npos)
    ;// find
else
    ;// not find

答案 1 :(得分:3)

我是这样做的。

x

即使您要查找多个字符也可以,但是应该将它们排列在一起。确保将string s = "More+"; if(s.find('+')<s.length()){ //to find + //found } else { //not found } 替换为''

""

答案 2 :(得分:2)

在字符串中,我们可以使用string s = "dumm[y["; int found = s.find('['); cout<<"$ is present at position "<<firstOccurrence; //$ is present at position 4 if (found < str.length()) { // char found } else{ // char not found } 来获取给定“字符串”的首次出现(位置)

{{1}}

答案 3 :(得分:1)

从C ++ 23开始,您可以使用std::string::contains

#include <string>

const auto test = std::string("test");

if (test.contains('s'))
{
    // found!
}

答案 4 :(得分:0)

如果数组是char * array或char array [],你可以在一段时间内找到一个char:

while(i < nSize)
    if (array[i] == '[')

&#39; [&#39;是一个字母,但&#34; [&#34;是一个字符串

答案 5 :(得分:0)

要检查字符串中的字符是否等于特定字符,您需要按照以下方式进行检查:

if(array.at(i) == '[') {
}

检查以下链接以获取更多详细信息: https://www.geeksforgeeks.org/string-at-in-cpp/##targetText=string%20at()%20in%20C%2B%2B,characters%20from%20a%20given%20string.&targetText=Syntax%202%3A,first%20character%20has%20index%200