gpt4 book ai didi

c++ - boost split 不能拆分中文句子

转载 作者:行者123 更新时间:2023-11-30 02:26:10 27 4
gpt4 key购买 nike

我有一个中文句子,我想用中文标点符号拆分它。但它失败了。我在文件中使用了 utf-8 编码。

std::string src = "使用boost split失败了,不知道什么原因。有人可以告诉我吗?谢谢!";

boost::split(results, src, boost::is_any_of(",.,。"));

分割结果为:

["使用boost split失败了", "", "", "不知道�", "么原因", "", "", "有人可以告诉我吗", "", "�谢谢", "", "�"]

boost split 不能拆分中文单词?有人可以告诉我原因吗?谢谢。

最佳答案

我发现 C++11 正则表达式可以解决这个问题:

std::regex regex(",|。|!|?");
std::string src = "使用boost split失败了,不知道什么原因。有人可以告诉我吗?谢谢!";

std::sregex_token_iterator iterator(src.begin(), src.end(), regex, -1);
std::sregex_token_iterator end;

for ( ; iterator != end; ++iterator) {
std::string res = *iterator;
std::cout << res << std::endl;
}

results:
使用boost split失败了
不知道什么原因
有人可以告诉我吗
谢谢

为什么boost不能?我是不是用错了方法?

关于c++ - boost split 不能拆分中文句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43223439/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com