c++ 中英文字符串分割
时间: 2024-04-19 13:20:38 浏览: 179
中英文字符串分割算法C++C程序示例
5星 · 资源好评率100%
在C++中,可以使用一些方法来实现中英文字符串的分割。以下是一种常见的方法:
1. 使用标准库函数:
可以使用C++标准库中的字符串处理函数来实现字符串分割,例如使用`std::string`的`find`和`substr`函数。
示例代码如下:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, 你好";
std::string delimiter = ", ";
size_t pos = 0;
std::string token;
while ((pos = str.find(delimiter)) != std::string::npos) {
token = str.substr(0, pos);
std::cout << token << std::endl;
str.erase(0, pos + delimiter.length());
}
std::cout << str << std::endl;
return 0;
}
```
运行结果:
```
Hello
你好
```
这个示例代码中,我们使用了`find`函数来查找分隔符的位置,然后使用`substr`函数来提取子字符串。通过循环不断提取子字符串,直到没有分隔符为止。
2. 使用第三方库:
除了使用标准库函数,还可以使用一些第三方库来实现字符串分割,例如Boost库中的`split`函数。
示例代码如下:
```cpp
#include <iostream>
#include <string>
#include <boost/algorithm/string.hpp>
int main() {
std::string str = "Hello, 你好";
std::vector<std::string> tokens;
boost::split(tokens, str, boost::is_any_of(", "));
for (const auto& token : tokens) {
std::cout << token << std::endl;
}
return 0;
}
```
运行结果:
```
Hello
你好
```
这个示例代码中,我们使用了Boost库中的`split`函数来实现字符串分割。该函数将字符串按照指定的分隔符进行分割,并将结果存储在一个`std::vector`容器中。
阅读全文