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

Вниз

Работа со строками   Найти похожие ветки 

 
Алексей   (2005-01-20 17:20) [0]

Подскажите, как можно преобразовать строку: "Иванов Иван Иванович" в строку: "ИвановИИ"?


 
Digitman ©   (2005-01-20 17:29) [1]

никак


 
REA   (2005-01-20 17:35) [2]

В смысле? Первое слово+Первая после пробела буква+Первая после пробела буква.


 
Алексей   (2005-01-20 17:41) [3]

У меня огромная база данных и надо ФИО сотрудников преобразовать. Уважаемый REA правильно понял смысл моего вопроса.


 
Digitman ©   (2005-01-20 17:49) [4]


> Алексей   (20.01.05 17:41) [3]


так вот, на халявку, в надежде на телепатов, вся программистская жизнь и пройдет)

а ну как телепата рядом не окажется, а ? что делать-то будешь ?

какое нафих еще преобразование, если "Иванов Иван Иванович" (1) - это одна строкпа, а "ИвановИИ" (2) - совершенно иная ? Учись требования свои излагать алгоритмическим языком !

нет и не может быть в этом случае никакого преобразования.

а должен быть алгоритм, создающий строку вида (2) по определенным ТОБОЙ алгоритмическим правилам на основании данных в строке (1).


 
Алексей   (2005-01-20 17:50) [5]

Я думаю можно перебором всех букв с начала по условию, но как осуществить цикл перебора?


 
Алексей   (2005-01-20 17:51) [6]

Я думаю можно перебором всех букв с начала по условию, но как осуществить цикл перебора?


 
begin...end ©   (2005-01-20 17:55) [7]

> [3] Алексей   (20.01.05 17:41)

uses
 StrUtils;
var
 S1, S2: String;
 P1, P2: Integer;
begin
 S1 := "Иванов Иван Иванович";
 P1 := Pos(" ", S1) + 1;
 P2 := PosEx(" ", S1, P1) + 1;
 if (P1 > 0) and (P2 > 0) then
   S2 := Copy(S1, 1, P1 - 2) + S1[P1] + S1[P2];
end.


 
Александр Иванов ©   (2005-01-20 18:01) [8]

function GetName(Str:string):string;
var i:integer;
begin
  i:=Pos(" ",Str);
  Result:=Copy(Str,1,i-1);//Получаем фамилию
  Str:=Trim(Copy(Str,i,Length(Str)-i));//Оставляем остаток
  Result:=Result+Str[1];
  i:=Pos(" ",Str);
  Str:=Trim(Copy(Str,i,Length(Str)-i));//Оставляем остаток
  Result:=Result+Str[1];
end;


 
Александр Иванов ©   (2005-01-20 18:02) [9]

begin...end ©   (20.01.05 17:55) [7]
А если несколько пробелов?


 
begin...end ©   (2005-01-20 18:06) [10]

> [9] Александр Иванов ©   (20.01.05 18:02)

Смотрим сообщения выше:

[2] REA   (20.01.05 17:35)
В смысле? Первое слово+Первая после пробела буква+Первая после пробела буква.


[3] Алексей   (20.01.05 17:41)
У меня огромная база данных и надо ФИО сотрудников преобразовать. Уважаемый REA правильно понял смысл моего вопроса.


Даже более того: посмотрите на образец строки, приведённый автором вопроса в [0].


 
Knight ©   (2005-01-20 19:01) [11]

function GetFIO(Str:String):String;
var StrList:TStringList;
begin
 Result:="";
 StrList:=TStringList.Create;
 try
   StrList.Delimiter:=" ";
   StrList.DelimitedText:=Str;
   if StrList.Count=3 then begin
     Result:=StrList[0]+StrList[1][1]+StrList[2][1];
   end;
 finally
   StrList.Free;
 end;
end;


 
Алексей   (2005-01-20 22:44) [12]

Огромное спасибо уважаемому Knight, все прекрасно заработало.


 
Anatoly Podgoretsky ©   (2005-01-20 23:52) [13]

Алексей   (20.01.05 17:41) [3]
Кто же это у вас так базу спроектировал.



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

Форум: "Основная";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.084 c
9-1098893371
Falcon(TFSoft)
2004-10-27 20:09
2005.02.06
Создание объектов


1-1106653058
JohnS
2005-01-25 14:37
2005.02.06
Как начать работать с XML в D7 ?


8-1098332767
vg
2004-10-21 08:26
2005.02.06
Помогите в винде "содрать" рисунок.


3-1105365436
Scorpio
2005-01-10 16:57
2005.02.06
Как передать данные в переменную при соединении 3 баз.


14-1106066184
olookin
2005-01-18 19:36
2005.02.06
Прогулка. Нестандартно для Земфиры, как вы считаете?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский