Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.03.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
ИгорУЛЬКА   (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;
Скачать: [xml.tar.bz2];

Наверх




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


2-1264495718
Цукор5
2010-01-26 11:48
2010.03.28
Утечка памяти


15-1262947721
TUser
2010-01-08 13:48
2010.03.28
Зазеркалье в Питере


2-1264524632
kalexi
2010-01-26 19:50
2010.03.28
В какую папку можно сохранять конфиги программы? Как ее отыскать?


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский