Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];
Вниз
запись в файл Найти похожие ветки
← →
гость (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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.036 c