21xrx.com
2025-03-26 13:10:19 Wednesday
文章检索 我的文章 写文章
C++字符串的子串提取
2023-07-05 15:46:31 深夜i     23     0
C++ 字符串 子串 提取

C++字符串的子串提取是指从一个给定的字符串中提取某个范围内的子串。在C++中,可以使用string类型的substr()函数来实现这个功能。substr()函数需要两个参数,分别是起始位置和子串的长度。

下面是一个简单的例子:

#include <iostream>
#include <string>
using namespace std;
int main() {
  string str = "Hello World!";
  string sub = str.substr(6,5);
  cout << "Substring: " << sub << endl;
  return 0;
}

运行结果:

Substring: World

在上面的例子中,我们从字符串“Hello World!”中提取了从第6个字符开始的长度为5个字符的子串“World”。

除了使用substr()函数,还可以使用一个循环来逐个提取子串。这种方法适用于需要从一个大字符串中提取多个子串的情况。

下面是一个使用循环来提取子串的例子:

#include <iostream>
#include <string>
using namespace std;
int main() {
  string str = "This is a test string";
  int start = 0, end;
  while (start < str.length()) {
    end = str.find(" ", start);
    if (end == string::npos) {
      end = str.length();
    }
    string sub = str.substr(start, end - start);
    cout << sub << endl;
    start = end + 1;
  }
  return 0;
}

运行结果:

This
is
a
test
string

在上面的例子中,我们使用find()函数来查找空格,以确定子串的结束位置。此外,当找不到空格时,我们将子串的结束位置设置为字符串的长度。

总的来说,C++字符串的子串提取是一个基本的字符串处理技巧。无论是用substr()函数还是循环来实现,都可以让我们轻松地从一个大字符串中提取出我们所需要的子串。

  
  

评论区

请求出错了