我有使用boost:
将字符串拆分为标记的代码boost::algorithm::iter_split(
result_vector, input, boost::algorithm::first_finder(delimiter));
更改此内容的最佳和最优雅的方法是什么,以便结果不包含空标记?
例如,我的输入可能是:
foo.bar.baz.
其中.
是分隔符。
答案 0 :(得分:2)
只需在生成的向量上使用remove_if,并使用lambda函数测试字符串
auto newEndIt = std::remove_if(result_vector.begin(), result_vector.end(), [&](const std::string& it)->bool
{
return it.empty();
});
然后只调整矢量
result_vector.resize(newEndIt - result_vector.begin());