-
初始化和赋值
-
string s = "Hello";
:快速初始化字符串。 -
s.assign("World");
:将新值赋给字符串。
-
-
拼接
-
s1 + s2
和s += s2;
:分别用于拼接和追加字符串。
-
-
长度和字符访问
-
s.size()
或s.length()
:返回字符串长度。 -
s[i]
:通过索引访问字符。
-
-
字符串比较
-
s1 == s2
、s1 != s2
、s1 < s2
等:进行字符串的比较操作。
-
-
子字符串操作
-
s.substr(pos, len)
:获取子字符串。 -
s.find(sub)
和s.rfind(sub)
:分别查找子字符串的首次和最后一次出现。
-
-
插入、删除和替换
-
s.insert(pos, "文本")
:在指定位置插入字符串。 -
s.erase(pos, len)
:从指定位置删除子字符串。 -
s.replace(pos, len, "文本")
:替换子字符串。
-
-
类型转换
-
to_string(num)
:将数字转换为字符串。 -
stoi(s)
和stod(s)
:将字符串转换为整数和双精度浮点数。
-
-
遍历字符串
-
使用迭代器
s.begin()
和s.end()
或基于范围的循环for (char c : s)
。
-
-
正则表达式匹配
-
regex_match(s, regex)
和regex_search(s, regex)
:正则表达式匹配和搜索。
-
-
字符串流操作
-
stringstream
:用于将数据转换为字符串,或从字符串读取数据。
-
-
修剪(自定义实现)
-
trim(s)
:去除字符串前后的空白字符。
-
-
大小写转换
-
transform(s.begin(), s.end(), s.begin(), ::toupper)
:将字符串转换为大写。 -
transform(s.begin(), s.end(), s.begin(), ::tolower)
:将字符串转换为小写。
-
这些操作在处理字符串时非常高效,特别是在处理输入输出、大量字符操作时,是很好的工具。在竞赛编程中,这些字符串函数的掌握可以大大提高代码效率和代码质量。