在 C++ 中访问给定字符串中字符的不同方法
String 类将字符存储为字节序列,具有允许访问单字节字符的功能。有几种方法可以访问字符串的子字符串和单个字符。字符串类为此目的支持以下函数:
- 运算符[]
- 在()
- substr()
- 寻找()
- find_first_of()
- find_last_of()
让我们开始详细讨论这些方法。
运算符[]
运算符[] 返回对指定为参数的位置处的字符的引用。
句法-
char& operator[](size_t pos);
Here,
pos is the index of the character to be searched.
下面是实现运算符[]函数的 C++ 程序 -
C++
// C++ program to implement
// the operator[]
#include
using namespace std;
// Driver code
int main()
{
string str("GeeksforGeeks");
cout << str[4];
return 0;
}
C++
// C++ program to implement
// at()
#include
using namespace std;
// Driver code
int main()
{
string s("GeeksForGeeks");
cout << s.at(4);
return 0;
}
C++
// C++ program to implement
// the substr() function
#include
using namespace std;
// Driver code
int main()
{
string s("GeeksForGeeks");
cout << s.substr(1, 5);
return 0;
}
C++
// C++ program to implement
// the find() function
#include
using namespace std;
// Driver code
int main()
{
string s("GeeksForGeeks");
cout << s.find("For");
return 0;
}
C++
// C++ program to implement
// the find_first_of() function
#include
using namespace std;
// Driver code
int main()
{
string s("GeeksForGeeks");
cout << s.find_first_of('s');
return 0;
}
C++
// C++ program to implement
// the find_last_of() function
#include
using namespace std;
// Driver code
int main()
{
string s("GeeksForGeeks");
cout << s.find_last_of('s');
return 0;
}
s
在()
at()函数用于访问单个字符。使用这个函数,可以从给定的字符中字符串字符地访问。
句法-
char& string::at (size_type idx)
下面是实现 at() 的 C++-
C++
// C++ program to implement
// at()
#include
using namespace std;
// Driver code
int main()
{
string s("GeeksForGeeks");
cout << s.at(4);
return 0;
}
s
substr()
substr()函数用于从给定字符串中检索子字符串。这个函数有两个值start和len 。
- 字符串.h 是字符串函数所需的头文件。
- 起始索引为 0。
句法-
string substr (size_type start, size_type len);
Here,
start: Position of first character to be copied
len: Length of the sub-string.
下面是实现 substr()函数的 C++ 程序 -
C++
// C++ program to implement
// the substr() function
#include
using namespace std;
// Driver code
int main()
{
string s("GeeksForGeeks");
cout << s.substr(1, 5);
return 0;
}
eeksF
寻找()
find()函数用于在被调用的指定字符串中查找第一次出现的子字符串。
- 它返回字符串中子字符串第一次出现的索引。
- 起始位置的默认值为 0。
- 如果未找到子字符串,则函数返回 -1。
句法-
size_t find (const string& str, size_t pos = 0);
size_t find (const char* s, size_t pos = 0);
Here,
str is the substring to be searched.
s is the C-style substring to be searched.
pos is the initial position from where to start string search. The default value is 0.
下面是实现 find()函数的 C++ 程序 -
C++
// C++ program to implement
// the find() function
#include
using namespace std;
// Driver code
int main()
{
string s("GeeksForGeeks");
cout << s.find("For");
return 0;
}
5
find_first_of()
find_first_of()函数用于查找与参数中指定的任何字符匹配的第一个字符。这个函数有两个参数str和pos。
句法-
size_t find_first_of (const string& str, size_t pos = 0) const;
Here,
str is the string with characters to search for.
pos is the position of the first character in the string to be considered for search.
下面是实现 find_first_of()函数的 C++ 程序 -
C++
// C++ program to implement
// the find_first_of() function
#include
using namespace std;
// Driver code
int main()
{
string s("GeeksForGeeks");
cout << s.find_first_of('s');
return 0;
}
4
find_last_of()
find_last_of()函数用于从给定字符串中查找指定字符最后出现的位置。
句法-
find_last_of(char ch);
find_last_of(char ch, size_t position);
Here,
ch is the character to be searched in the string.
position is the index till where the search is to be performed.
下面是实现 find_last_of()函数的 C++ 程序 -
C++
// C++ program to implement
// the find_last_of() function
#include
using namespace std;
// Driver code
int main()
{
string s("GeeksForGeeks");
cout << s.find_last_of('s');
return 0;
}
12