21xrx.com
2024-12-27 04:38:01 Friday
登录
文章检索 我的文章 写文章
C++中如何截取子串
2023-07-04 21:12:25 深夜i     --     --
C++ 截取 子串 字符串 substr()函数

在C++语言中,截取字符串是一项常见的操作,这可以通过使用子字符串来实现。子字符串可以把字符串分解成更小的部分,而不必改变原始字符串。以下是C++中如何截取子串的方法。

1. 字符串函数:substr()

C++中提供了一个substring函数,可以截取一个字符串的子字符串。它需要两个参数,第一个参数是子字符串的开始位置,第二个是子字符串的长度。该函数返回子字符串。

示例代码:


#include <iostream>

#include <string>

using namespace std;

int main()

{

 string str = "hello world";

 string subStr = str.substr(6, 5); // 从位置6截取长度为5的子字符串

 cout << subStr << endl; // 输出 "world"

 return 0;

}

2. 字符串函数:substr()和find()

另一种方法是将substr()和find()函数结合使用。find()函数用于查找指定子字符串的第一个出现位置,然后substr()函数根据这个位置截取子串。这对于需要从一个字符串中截取多个子字符串的情况特别有用。

示例代码:


#include <iostream>

#include <string>

using namespace std;

int main()

{

 string str = "hello world";

 size_t pos = 0;

 string subStr;

 

 while((pos = str.find(" ", pos + 1)) != string::npos) // 查找空格

 {

  subStr = str.substr(0, pos); // 截取子字符串

  cout << subStr << endl;

  str.erase(0, pos + 1); // 删除已截取的部分

  pos = 0;

 }

 

 cout << str << endl; // 输出剩余部分

 return 0;

}

以上是C++中截取子串的两种方法。使用这些方法,您可以轻松地从一个字符串中截取多个子字符串,以及对截取的子字符串进行其他处理。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复