gpt4 book ai didi

c++ - boost::split(结果,输入,boost::is_any_of (“(, )”))无法分割空白

转载 作者:行者123 更新时间:2023-12-02 10:01:06 25 4
gpt4 key购买 nike

代码是:

vector<string> result;
string input = "Ellipse(50, 50, 200, 300)"
boost::split(result, input, boost::is_any_of("(, )"))

int i=0;
for (auto at=result.begin(); at != result.end(); at++)
cout << ++i << " " << *at << endl;

输出为:
1 Ellipse
2 50
3
4 50
5
6 200
7
8 300
9

我只想获取椭圆和整数,而不是空白空间。

如何获得正确的结果?

输入字符串无法更改。

最佳答案

这将正确删除空白:erase_all(str1, " ");

另一种选择是使用boost::token_compress_on:

boost::trim_if(input, boost::is_any_of(" "));
boost::split(result, input, boost::is_any_of("(, )"), boost::token_compress_on);

已经问过这个问题: boost::split leaves empty tokens at the beginning and end of string - is this desired behaviour?

How to use boost split to split a string and ignore empty values?

关于c++ - boost::split(结果,输入,boost::is_any_of (“(, )”))无法分割空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62467781/

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