我希望将字符串拆分为单个字符或字符串。我想用boost::split
因为 boost string 是我们基本字符串处理的标准(我不想混合几种技术)。
在单个字符的情况下我可以做split(vec,str,is_any_of(':'))
但我想知道是否有办法只指定单个字符。它可能会提高性能,但更重要的是我认为只有一个字符的代码会更清晰,因为是任何一个传达了与我想要的不同的含义。
为了匹配字符串,我不知道要使用什么语法。我不想构建正则表达式;一些简单的语法,例如split(vec,str,match_str("::")
会很好。
我一直在寻找相同的答案,但找不到。最后我终于自己制作了一个。
您可以使用std::equal_to
形成您需要的谓词。这是一个例子:
boost::split(container, str, std::bind1st(std::equal_to<char>(), ','));
当我需要使用单个字符分割字符串时,这正是我所做的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)