从c ++中的字符串中提取两个分隔符之间的子字符串

时间:2014-09-18 05:15:21

标签: c++ string visual-studio-2010

如果子字符串位于起始分隔符和结束分隔符之间,我必须从字符串中提取子字符串。

例如,我的字符串是:

12345\Disk&Ven_SRT&Prod_USB_3.0_JET_16G&Rev_1100&049113082705515646000190&0]

起始分隔符为“_”,结束分隔符为“&”。我需要介于'_'和'&'之间的所有子串。即,我的输出应该是:

SRT    USB_3.0_JET_16G    1100

我尝试使用boost :: tokenizer,但它也标记了字符串'USB_3.0_JET_16G',因为它包含'_'。所以我的目标是'_'和'&'之间的任何东西。应该是子字符串的一部分,如果存在多个起始和结束分隔符,则应检索所有这些子字符串。

怎么做?我正在使用VS 2010。

谢谢

1 个答案:

答案 0 :(得分:0)

一种可能的解决方案是两次通过:首先你对'&'字符进行标记,这很容易,因为你想要的子字符串都不包含那个字符。

然后在第二遍中,您只需从第一遍中获得的子串中丢弃任何文本(包括)第一个'_'字符。

相关问题