Мне нужно извлечь подстроки из строки, если подстрока находится между разделителем начала и разделителем конца.Извлечь подстроки между двумя разделителями символов из строки в C++
Для, например, моя строка:
12345\Disk&Ven_SRT&Prod_USB_3.0_JET_16G&Rev_1100&049113082705515646000190&0]
Стартовый разделитель '_' и конец разделителем является '&'. Мне нужны все подстроки, которые находятся между «_» и «&». то есть мой вывод должен быть:
SRT USB_3.0_JET_16G 1100
Я попытался с помощью наддува :: Tokenizer, но размечает строку «USB_3.0_JET_16G» также, так как он содержит «_». Поэтому моя цель - это то, что приходит между «_» и «&», должно быть частью подстроки, и если существует более одного разделителя начала и конца, все эти подстроки должны быть получены.
Как это сделать? Я использую VS 2010.
Спасибо
Есть много возможных решений для этого, что вы пробовали до сих пор? Как это работает? Как это не сработало? –
@JoachimPileborg: я использовал boost :: tokenizer, указав 'boost :: char_separator sep (" _ &]"); '. Но он разделил второе подглаживание, которое мне потребовалось в дальнейшем, в зависимости от наличия '_'. –
Jackzz
Возможно, читайте подстроки, используя простые циклы, но я предпочитаю библиотечные функции для этого. – Jackzz