21xrx.com
2024-06-03 04:34:08 Monday
登录
文章检索 我的文章 写文章
C++ split()函数的使用方法
2023-08-20 18:54:08 深夜i     --     --
C++ split()函数 使用方法 字符串分割

C++是一种广泛应用于软件开发的编程语言,它具有丰富的函数和库。其中一个常用的函数是split()函数,它可以将一个字符串分割成多个子字符串。

split()函数的使用方法非常简单。它需要两个参数:要分割的字符串和分隔符。函数会将字符串按照分隔符进行拆分,并返回一个存储拆分后子字符串的容器或者数组。

下面是一个简单的示例,展示了如何使用split()函数:


#include <iostream>

#include <string>

#include <vector>

std::vector<std::string> split(const std::string& str, const std::string& delimiter) {

  std::vector<std::string> result;

  size_t start = 0;

  size_t end = 0;

  

  while((end = str.find(delimiter, start)) != std::string::npos) {

    result.push_back(str.substr(start, end - start));

    start = end + delimiter.length();

  }

  

  result.push_back(str.substr(start));

  

  return result;

}

int main() {

  std::string sentence = "C++ split() function demo";

  std::string delimiter = " ";

  

  std::vector<std::string> words = split(sentence, delimiter);

  

  for(const auto& word : words)

    std::cout << word << std::endl;

  

  

  return 0;

}

上述代码中,我们首先定义了一个名为split()的函数。它接受两个参数:要分割的字符串`str`和分隔符`delimiter`。函数内部,我们定义了一个存储子字符串的容器`result`,并初始化`start`和`end`变量为0。

随后,我们使用`while`循环来找到字符串中的每个分隔符。`str.find(delimiter, start)`会返回找到的下一个分隔符的位置,若找到则返回`end`变量作为分隔位置的结束点。接着,通过调用`substr(start, end - start)`,我们取得位于两个分隔符之间的子字符串,并将其添加到`result`容器中。

循环结束后,我们还需要检查是否还有未添加到`result`中的子字符串。如果是的话,我们将使用`substr(start)`将最后一个子字符串添加到`result`中。

最后,在`main()`函数中,我们声明了一个字符串`sentence`和一个分隔符`delimiter`。我们调用`split()`函数,将`sentence`和`delimiter`作为参数传递给函数,并将返回的结果存储在名为`words`的容器中。最后,我们使用`for`循环遍历`words`容器,并将每个子字符串打印出来。

上述代码的输出结果是:


C++

split()

function

demo

从输出结果可以看出,我们成功将原始字符串按照空格进行了拆分。

总结而言,C++的split()函数是一个非常实用的函数,它能够将一个字符串拆分成多个子字符串,并且返回一个存储子字符串的容器。通过合理使用split()函数,我们可以更轻松地处理和操作字符串数据。如果你正在使用C++进行字符串处理,不妨尝试一下split()函数,它会为你的开发工作带来许多便利。

  
  

评论区

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