Показать сообщение отдельно
Старый 29.06.2007, 09:09   #15  
fialka is offline
fialka
Участник
 
347 / 16 (1) ++
Регистрация: 05.10.2006
Адрес: Екатеринбург
Цитата:
Сообщение от Zuzaz Посмотреть сообщение
Как часто случается, это задание недостаточно формализовано. Без уточнения ряда вопросов по формату номера предлагать варианты бесполезно:
1) вначале всегда идут буквы ? их всегда две, как в примере, или может быть любое число?
2) между начальным и конечным набором букв цифры всегда идут со слешем, или могут быть только цифры ? Могут ли вместо слеша быть и другие знаки, например тире или точка?
3) количество знаков между первым и конечным набором букв всегда одинаково, или может быть любым?
3) в конечном наборе буква всегда одна, или их может быть две и больше ?
4) в конечном наборе всегда идут буквы и потом цифры, или могут быть другие варианты (например, только буквы;буквы, цифры и снова буквы) ? Сколько цифр может быть после последней буквы ?
5) и наконец ключевой вопрос: зачем нужно такое преобразование, какая исходная постановка задачи? Может быть, исходная задача решается другим, более простым способом ? Или может быть, исходная задача такова, что и ваш способ с преобразованием номера её не решит ?

Если подходить формально, решая задачу именно так, как она вами записана, то это так:

X++:
S2 = substr(S1,3,9)
1. вначале всегда идут буквы, неизвестно сколько их.
2. Далее идут цифры (тоже непонятно сколько ) разделение слеш и ещё несколько цифр... вот в первый заход их нужно получить.
3. Потом идёт буква Р после неё цифры. Второе значение у меня должно как раз ему равнятся...
то есть если первоначально было ППРРВ12345/45Р5,
то должно получится два значения: первое 12345/45 и второе 5