В работе мы используем глобальную систему распределения для заказов, которая очень древняя, когда мы отменяем бронирование, мы получаем ответ от их веб-службы, чтобы сказать, было ли отменено бронирование.Извлечь текст, дефис и номер из строки
Ответ содержит логическое значение, чтобы сказать, если он будет отменен или нет, и строку с какой-либо другой информацией, такие как ссылки отмены или почему она не может быть отменена и т.д. и т.п.
Если успешно cancellled ссылки отмены завязывается в середине строки в ответ и смотрит что-то вроде этого
"NXT REPLACES 1 REDISPLAY ITINERARY1CXL-13113654 THANK YOU FOR YOUR INTEREST"
из этой строки Мне нужно извлечь «CXL-13113654» ...
в основном CXL сопровождаемый " - "тогда любой ча racter upto, но не включая ""
Я искал университет google, и все, что я могу найти, похоже, только извлечения чисел, символов или символов никогда не будет смешиваться в таком формате, как у меня.
Может ли кто-нибудь помочь?
Как это можно сделать?
Вы ищете шаблон регулярного выражения или утилита для извлечения строки? http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.aspx – user1231231412
RegEx будет очевидным ответом на это, хотя это также может быть выполнено с использованием менее элегантного синтаксического анализа строк. Найдите смещение к тире, вычитайте 3, найдите следующее пространство и выполните подстроку. Если CXL всегда * * CXL, то вы можете сохранить пару шагов. –
Regex был вариантом, который я смотрел, но я не очень хорошо знаком с Regex, поскольку я пытался его изучить, но я действительно боюсь. Еще один вариант, который я пытался сделать, это написать алгоритм, который найдет CXL, а затем берет каждый символ и ломается, когда я нахожу «», но я не могу получить эту работу еще –