【发布时间】:2019-05-08 07:14:40
【问题描述】:
我有一个要拆分的字符串,所以我使用boost::split
但是boost::is_any_of 接受一个字符串并使用每个字符作为分隔符。
我的分隔符应该是“->”和“:”
":" 有效,因为它是单个字符分隔符,但 "->" 无效(它将每个字符("-" 和 ">" 分别作为分隔符)
std::vector<std::string> strs;
boost::split(strs, line, boost::is_any_of(["->:"]));
如何定义多个分隔符,其中一些分隔符不止一个字符?
例子:
"0:c->2" should give [0,"c",2]
如果其他解决方案更容易解决特定问题,我愿意接受其他不使用 boost 的解决方案
【问题讨论】:
-
@VictorGubin 在标记器链接中我看到它们使用单字符分隔符,您能否提供一个如何使用“->”和“:”作为分隔符的示例?
-
@VictorGubin 此示例使用
-;或|作为分隔符。我不明白当你找到->时如何使用它们进行拆分,但当你单独找到-或>时却不能使用它们进行拆分