Главная страница
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.028 c
4-1099515076
dimm
2004-11-03 23:51
2004.12.19
работа с USB


14-1101398500
Vn
2004-11-25 19:01
2004.12.19
Из каких СМИ узнаем информацию?


4-1099339625
Djuice
2004-11-01 23:07
2004.12.19
Help help help!!! КАК ЗАВЕРШИТЬ ПРОЦЕСС В ВИНДЕ, НАПРИМЕР explore


14-1101883869
GanibalLector
2004-12-01 09:51
2004.12.19
Расчет потребности в оборудовании


3-1100758149
Wowa-K
2004-11-18 09:09
2004.12.19
Помогите восстановить файл