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

Вниз

запись в файл   Найти похожие ветки 

 
гость   (2004-12-07 17:16) [0]

Имеется строка вида 2*3+444*8+37*77+.......
вопрос.
Как найти в строке все * и числа стоящие перед * (2 444 37 и т.д.)записать в файл
1.txt через пробел.


 
Александр Иванов ©   (2004-12-07 17:33) [1]

Примерно так:

try
String:=TStringList.Create;
index:=pos("*", Str);
while index<>0 do
 begin
   if index<>byte(Str[0]) then
      Str:=Copy(Str,index+1,byte(Str[0])-index);
   else Str:="";
   i:=index-1;
   buffer:="";
   Sub := Copy(Str,1,index-1);
   while (i <> 0) or (not Sub[i] in ["0".."9","."]) do
     begin
       buffer:=buffer+Sub[i];
       dec(i);
     end;
   Strings.Add(buffer);
   index:=pos("*", Str);
 end;
Strings.SaveToFile(FileName);
finally
 Strings.Free;
end;


 
begin...end ©   (2004-12-07 19:31) [2]

> гость   (07.12.04 17:16)

uses StrUtils;
var
 S: String;
 I, J: Integer;
begin
 S := "2*3+444*8+37*77+";
 with TStringList.Create do
   try
     Delimiter := "*";
     DelimitedText := S;
     if Count > 0 then
       Delete(Count - 1);
     for I := 0 to Count - 1 do
       for J := Length(Strings[I]) downto 1 do
         if not (Strings[I][J] in ["0".."9"]) then
         begin
           Strings[I] := RightStr(Strings[I], Length(Strings[I]) - J);
           Break
         end;
     SaveToFile("c:\1.txt")
   finally
     Free
   end
end.



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

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

Наверх




Память: 0.47 MB
Время: 0.043 c
14-1101976195
Knight
2004-12-02 11:29
2004.12.19
Есть простой редактор DOS-текстов?


1-1102413295
БареллО
2004-12-07 12:54
2004.12.19
Совместимость разных версий Delphi


1-1102446946
Ust
2004-12-07 22:15
2004.12.19
Автоматическое форматирование исходного кода


6-1096999715
santey
2004-10-05 22:08
2004.12.19
как поменять ip local host


11-1084185969
Yustas
2004-05-10 14:46
2004.12.19
TSTRList.SaveToFile