【发布时间】:2013-10-23 08:28:40
【问题描述】:
我使用的是boost框架,所以可能会有所帮助,但我还没有找到必要的功能。
对于通常的快速拆分,我可以使用:
string str = ...;
vector<string> strs;
boost::split(strs, str, boost::is_any_of("mM"));
但它会删除 m 和 M 个字符。
我也不能简单地使用正则表达式,因为它会在字符串中搜索符合定义模式的最长值。
附:有很多类似的问题,但他们只用其他编程语言描述了这个实现。
【问题讨论】:
-
那么,您想拆分
m或M但保留该字符? -
如果您希望分隔符成为字符串的一部分,拆分规范会变得模糊,您能否举例说明可能的输入以及您希望得到的输出?
-
那么
m(/M) 是第一个字符串的最后一个字符,还是第二个字符串的第一个字符? -
m/M 将加入下一个子串
标签: c++ regex string vector split