Главная страница
    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.47 MB
Время: 0.033 c
14-1105967316
Чеширский_Кот
2005-01-17 16:08
2005.02.06
Sheep in the big city


1-1106724799
Zloy
2005-01-26 10:33
2005.02.06
Как получить список файлов из определенного каталога


14-1105696379
uny
2005-01-14 12:52
2005.02.06
плоттер hp deskjet 450c - не хочет печатать..


1-1106677375
0xfffffff
2005-01-25 21:22
2005.02.06
Добавление своей записи в Add remove programs


1-1106300946
GH@ST
2005-01-21 12:49
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский