|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Из строки в список
Прошу помощи:
Как из строки типа: [A-C][EF][K-PSZ] получить список "слов": AEK AEL AEM AEO AEP AES AEZ AFK AFL AFM AFO AFP AFS AFZ BEK BEL BEM и так далее? Я создал массив и заполнил его алфавитом: Код:
i := 0; for c := 'A' to 'Z' do begin i := i+1; spAlfawEN[i] := c; end; Потом делал циклами с поиском, в итоге получалась пирамида циклов... , в общем так программа не работает!!! Последний раз редактировалось lkz_07, 19.12.2014 в 22:54. |
#2
|
||||
|
||||
А так не проще?
Код:
const s1 = 'ABC'; s2 = 'EF'; s3 = 'KLMNOPSZ'; procedure TForm1.Button1Click(Sender: TObject); var i1, i2, i3: integer; begin for i1:= 1 to Length(s1) do for i2:= 1 to Length(s2) do for i3:= 1 to Length(s3) do Memo1.Lines.Add(s1[i1] + s2[i2] + s3[i3]); end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
|||
|
|||
Код:
str := StringReplace(str,'[','',[rfReplaceAll]); str := StringReplace(str,']',#13#10,[rfReplaceAll]); memo1.lines.text := str; Не эффективно, зато просто. |
#4
|
||||
|
||||
Цитата:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
|||
|
|||
Цитата:
Да, сам дурак, не внимательно прочитал задачу. Единственное, тут есть маленькая проблемка. Алеган дал решение для конкретной строки. Вопрос - как сделать для любой подобной строки. Надо более точно знать задание. Например, допустимы ли только заглавные латинские буквы или могут быть строчные русские буквы, например, или цифры. |
#6
|
|||
|
|||
Цитата:
Это да - для конкретного кол-ва скобок. Их может быть неопределнное кол-во: 2 или 4 или 6 и т.д. Я взял для примера - 3. Пока только для прописных (заглавных) букв, один язык английский. А строчные потом можно сделать из созданного списка: типа со 2-ого буквы и до конца слова переводить в нижний регистр. Главное как создать список? Alegun может и правильно подсказал начало: Код:
s1 = 'ABC'; s2 = 'EF'; s3 = 'KLMNOPSZ'; Если будет 4 скобки или больше - как сделать конкретное кол-во циклов для введенной строки? |