Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.03.28;
Скачать: CL | DM;

Вниз

Получить отдельные значения строки   Найти похожие ветки 

 
ИгорУЛЬКА   (2010-01-27 12:04) [0]

Добрый день, Мастера. Допустим, есть строка "Потапов Семен Семеныч". Как проще получить по отдельности фамилию, имя и отчество. Пока на ум приходит только ручной разбор строки (Pos + Copy), но, чую, существует решение поэлегантней.


 
12 ©   (2010-01-27 12:19) [1]

можно глянуть на
ExtractStrings

"В стандарте - нет такого. Возможно, есть где-нибудь в сторонних библиотеках, только быстрее и проще сделать цикл с Pos..."
ЮЗ на подобный вопрос


 
Медвежонок Пятачок ©   (2010-01-27 12:34) [2]

Допустим, есть строка "Потапов Семен Семеныч".

а допустим есть строка "Остап Ибрагим Бей Оглы Бендер"
и надо получить :
"Остап"
"Ибрагим Бей Оглы"
"Бендер"


 
Anatoly Podgoretsky ©   (2010-01-27 13:20) [3]

Элегантнее с помощью PosEX


 
Anatoly Podgoretsky ©   (2010-01-27 13:21) [4]

Есть красивее, с помощью CommaText


 
Nucer   (2010-01-27 13:40) [5]

Мой вариант:
procedure Explode(Separator: Char; S: string; Strings: TStringList; Limit: Integer = 0);
var
 I, N: Integer;
 Start: Integer;
 Done: Boolean;
begin
 Strings.BeginUpdate;
 try
  Strings.Clear;
  if S = "" then Exit;
  N := 0;
  Start := 1;
  Done := False;
  repeat
    Inc(N);
    I := PosEx(Separator, S, Start);
    if (I = 0) or (N = Limit) then
      begin
        I := Length(S) + 1;
        Done := True;
      end;
    Strings.Add(Copy(S, Start, I - Start));
    Start := I + 1;
  until Done;
 finally
   Strings.EndUpdate;
 end;
end;


Не всегда нужна обработка кавычек и апострофов, которую нельзя отключить в ExtractStrings.


 
Anatoly Podgoretsky ©   (2010-01-27 14:18) [6]

А наш проще Stings.CommaText := Text;


 
Jeer ©   (2010-01-27 15:03) [7]


> Медвежонок Пятачок ©   (27.01.10 12:34) [2]
>
> Допустим, есть строка "Потапов Семен Семеныч".
>
> а допустим есть строка "Остап Ибрагим Бей Оглы Бендер"
> и надо получить :
> "Остап"
> "Ибрагим Бей Оглы"
> "Бендер"


Молодец !

В качестве оффтопа..

Где-то так в начале 80-х, когда еще был жив военный институт в бухте Казачья, что в Крыму, полетели мы туда - я и старший товарищ.
В процессе оформления документов на допуск, кто-то допустил ошибку и в итоге появились три человека:
- я
- Шамиль Кули
- Заде Али Оглы

Нас вдвоем ( физ.лица ) мурыжили три дня, пока разбирались, что заявлены всего два человека: я и Шамиль Кули-заде Али оглы

Это реальная история :)


 
12 ©   (2010-01-27 17:52) [8]

^))


 
Smile   (2010-01-27 20:04) [9]

Неужели в начале 80-х не было "нужды" в паспортах?
Оформление на допуск происходило без соответствующих документов?
От  себя: в достоверности, не сомневаюсь
:)



Страницы: 1 вся ветка

Текущий архив: 2010.03.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
4-1231708108
kalexi
2009-01-12 00:08
2010.03.28
PopupMenu из ресурса.


4-1231749046
kalexi
2009-01-12 11:30
2010.03.28
Какие флаги нужны для создания формы без кнопки на панели задач?


2-1264496780
Oleg196lora
2010-01-26 12:06
2010.03.28
Странность в работе try..except


1-1246381367
Чайник
2009-06-30 21:02
2010.03.28
Delphi 2009 - запись с вариантной частью


2-1263294652
mefodiy
2010-01-12 14:10
2010.03.28
MySQL при удаленном доступе