gpt4 book ai didi

c++ - boost 字符串拆分以消除单词中的空格

转载 作者:可可西里 更新时间:2023-11-01 16:52:52 25 4
gpt4 key购买 nike

我编写了这段代码,将包含带有许多空格和/或制表符的单词的字符串拆分为仅包含单词的字符串 vector 。

#include<iostream>       
#include<vector>
#include<boost/algorithm/string/split.hpp>
#include<boost/algorithm/string.hpp>
int main()
{
using namespace std;

string str("cONtainS SoMe CApiTaL WORDS");

vector<string> strVec;
using boost::is_any_of;

boost::algorithm::split(strVec, str, is_any_of("\t "));

vector<string>::iterator i ;

for(i = strVec.begin() ; i != strVec.end(); i++)
cout<<*i<<endl;

return 0;
}

我期待一个输出

cONtainS
SoMe
CApiTaL
WORDS

但是我得到的输出是 strVec 中的一个元素,即

cONtainS











SoMe



CApiTaL
WORDS

最佳答案

根据 documentation,您需要添加值为 boost::token_compress_on 的最终参数:

boost::algorithm::split(strVec,str,is_any_of("\t "),boost::token_compress_on); 

关于c++ - boost 字符串拆分以消除单词中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10551125/

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