c语言编程笔录

首页 >   > 笔记大全

笔记大全

c++中string常用截取字符串方法是什么

更新时间:2023-08-21

前言:

在C++中,要截取字符串可以使用多种方法。本文将介绍C++中常用的截取字符串的方法,并提供相关的代码示例和解释。

方法一:使用substr()

substr()函数是C++中非常常用的字符串截取函数。其原型为:

std::string substr (size_t pos, size_t len) const;

其中,pos表示截取的起始位置,len表示要截取的子字符串的长度。下面是一个使用substr()函数截取字符串的示例:

std::string str = "Hello, World!";
std::string sub = str.substr(7, 5);
// sub的值为 "World"

在上述示例中,起始位置为7,长度为5,所以截取的子字符串为"World"。

方法二:使用find()和substr()

另一种常用的字符串截取方法是结合使用find()和substr()函数。find()函数用于查找指定字符串的位置,substr()函数用于截取子字符串。下面是一个使用find()和substr()函数截取字符串的示例:

std::string str = "Hello, World!";
size_t start = str.find("W");
std::string sub = str.substr(start);
// sub的值为 "World!"

在上述示例中,find("W")函数找到了字符串中"W"的位置,并将其赋给了start变量。然后使用substr(start)函数将从指定位置开始的子字符串截取出来。

方法三:使用stringstream

除了上述两种方法,我们还可以使用stringstream来截取字符串。stringstream是一个用于字符串流处理的类。下面是一个使用stringstream截取字符串的示例:

#include 

std::string str = "Hello, World!";
std::stringstream ss(str);
std::string sub;
while (std::getline(ss, sub, ',')) {
    // 对截取的子字符串进行处理
    // ...
}

在上述示例中,我们将字符串赋给了一个stringstream对象ss,然后使用getline()函数来截取分隔符为','的子字符串,将它们赋给sub变量。

总结:

本文介绍了C++中常用的三种字符串截取方法,分别是使用substr()、find()和substr()、以及stringstream。根据实际需求选择合适的方法可以提高代码的效率和可读性。