|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Строки, действия с ними...
Помогите новичку!
Допустим есть предложение типа: Иван Петров (очень клевый чувак). Даже денег должен. 21-58-85, 77-29-98. Оля Иванова, простая девочка. Ничем не приметная. 758-965 как сделать так, чтобы в одной переменной находилась строка, написанная до номера телефона...а во второй номер(а) телефона? |
#2
|
||||
|
||||
Ищешь позицию первого вхождения числа в строку, разрезаешь строку на две с этой позиции - 1
|
#3
|
||||
|
||||
Цитата:
просто примерчик, быстро набранный... не образец для подражания!!!: Код:
procedure TfrmRep.Button1Click(Sender: TObject); var sT : string; i : integer; j : integer; k : integer; begin sT := 'Оля Иванова, простая девочка. Ничем не приметная. 758-965'; j := 255; for i := 0 to 9 do begin k :=pos(IntToStr(i),sT); if (j > k) and (k > 0) then j := k; end; showmessage('первая часть: ' + copy(sT,1, j-1) + '; вторая часть: '+copy(sT,j, length(sT)-j+1)); end; |
#4
|
|||
|
|||
Спасибо всем кто ответил....
НО это решение только простой строки, а вот если строка будет вида: Олеся Иванова, хорошая девочка, 90-60-90 см. Не курит. 8-901-569-89-23 Как быть здесь? Можно как нибудь сделать копирование символов с конца строки, например до .(точки)? |
#5
|
||||
|
||||
Цитата:
немного хоть сам попробуй!)_ и напиши что получилось ... и помогу))) __________________________ ну или кто то просто тупо напишет надо развиваться )_ |
#6
|
||||
|
||||
Ну простейший-же парсер.
Две функции: 1. Взять подстроку из строки (по разделителю). 2. Определить как эту подстроку "воспринимать" системе: если в ней больше букв - это слово, если цифр - размеры или телефон. |