繁体   English   中英

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

[英]Extract substrings between two delimiter characters from a string in c++

如果子字符串介于开始定界符和结束定界符之间,则必须从字符串中提取子字符串。

例如,我的字符串是:

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。

谢谢

一种可行的解决方案是分两步进行:首先,对'&'字符进行标记化,这很容易,因为所需的子字符串都不包含该字符。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM