string常用方法

本文主要介绍了C++中std::string类的使用,涵盖构造函数、赋值操作、访问与修改、比较、信息获取、查找与搜索、子字符串与分割、输入与输出等方面,并给出了一个简单示例,展示了如何运用该类的基本方法进行字符串操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


构造函数与赋值
构造函数:用于创建字符串对象。

string():创建一个空字符串。
string(const char* s):用C风格字符串s初始化。
string(const string& str):复制构造函数。
string(n, c):用字符c重复n次来初始化。
赋值操作符:=,用于赋值。

访问与修改
at(int n):访问指定位置的字符,并进行边界检查。
operator[]:访问指定位置的字符,不进行边界检查(更快,但不安全)。
+=:连接另一个字符串或字符。
append():连接另一个字符串或字符序列。
insert():在指定位置插入字符串或字符。
erase():删除从指定位置开始的特定数量的字符。
replace():替换子字符串或特定位置的字符。
swap():交换两个字符串的内容。
字符串比较
compare():比较两个字符串。
operator==, !=, <, >, <=, >=:用于比较字符串的运算符。
字符串信息
size() / length():返回字符串的长度。
empty():检查字符串是否为空。
capacity():返回字符串的当前容量(分配的内存量)。
reserve():预留一定数量的内存空间。
clear():清空字符串内容。
查找与搜索
find():查找子字符串或字符的首次出现位置。
rfind():查找子字符串或字符的最后一次出现位置。
find_first_of():查找字符集中的任何字符首次出现的位置。
find_last_of():查找字符集中的任何字符最后一次出现的位置。
find_first_not_of():查找不在字符集中的字符首次出现的位置。
find_last_not_of():查找不在字符集中的字符最后一次出现的位置。
子字符串与分割
substr():返回一个新的字符串,它是此字符串的一个子字符串。
输入与输出
输入操作符>>:从输入流读取字符串。
输出操作符<<:将字符串写入输出流。
getline():从输入流读取一行文本到字符串。
示例(C++)
这里是一个简单的C++示例,展示了如何使用std::string类的一些方法:

cpp
#include <iostream>  
#include <string>  
  
int main() {  
    std::string str1 = "Hello, ";  // 构造函数  
    std::string str2 = "world!";  
    str1 += str2;  // 连接字符串  
    std::cout << str1 << std::endl;  // 输出:Hello, world!  
      
    str1.insert(6, "beautiful ");  // 在位置6插入字符串  
    std::cout << str1 << std::endl;  // 输出:Hello, beautiful world!  
      
    str1.erase(7, 9);  // 从位置7开始删除9个字符  
    std::cout << str1 << std::endl;  // 输出:Hello, world!  
      
    std::string str3 = str1.substr(7, 5);  // 提取子字符串  
    std::cout << str3 << std::endl;  // 输出:world  
      
    if (str1.find("world") != std::string::npos) {  // 查找子字符串  
        std::cout << "Found 'world' in str1" << std::endl;  
    }  
      
    return 0;  
}
这个示例演示了如何使用std::string类的一些基本方法来进行字符串操作。需要注意的是,不同编程语言的字符串类可能具有不同的方法和名称,但基本概念和功能是相似的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值