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

Вниз

Как из s: String удалить элемент   Найти похожие ветки 

 
Tatyana   (2004-02-27 16:37) [0]

У меня есть список строк, некоторые из которых содержат одни пробелы. Как пустые строки они не удаляются. Никак не могу их победить.


 
Алхимик ©   (2004-02-27 16:42) [1]

function Pos(Substr: string; S: string): Integer;
Выдает позицию подстроки Substr в строке S
procedure Delete(var S: string; Index, Count:Integer);
Удаляет из строки S количество Count начиная с Index

> Как пустые строки они не удаляются.

?


 
Eagle-XK ©   (2004-02-27 16:46) [2]

Да это, батенька, БСК получается. Если нужно уделить строку, просто делается так: s := ""; . Если тебе нужно удалить ее из памяти, то тебе эту память нужно сначала выделить. А если тебе нужно удалить кусок строки, см. что написал Алхимик


 
Юрий Зотов ©   (2004-02-27 16:48) [3]

if TrimLeft(S) = "" then <удалить S>


 
Алхимик ©   (2004-02-27 16:51) [4]


> [2] Eagle-XK © (27.02.04 16:46)


> Да это, батенька, БСК получается


Имхо "Матушка" :)


 
Александр1   (2004-02-27 16:51) [5]

Можно разбить текст на слова!
Ну короче поковыряё этот пример может чё наковыряешь!

function StringToWords(T:String;Mode:Short;List:Tstrings=nil):integer;
var
i,z:integer;
s:string;
c:Char;

procedure Check;
begin
if (s>"")and(List<>nil) then
begin
List.Add(S);
z:=z+1;
end;
s:="";
end;

begin
i:=0;
z:=0;
s:="";
if t>"" then
begin
while i<=Length(t)+1 do
begin
c:=t[i];
Case Mode of
0: {русские и английские слова}
if(c in ["a".."z"])or(c in ["A".."Z"])or(c in ["а".."я"])or
(c in ["А".."Я"]) and (c<>" ") then s:=s+c else Check;
1: {только русские слова}
if (c in ["а".."я"])or(c in ["А".."Я"]) and (c<>" ") then
s:=s+c else Check;
2: {только английские слова}
if(c in ["a".."z"])or(c in ["A".."Z"]) and (c<>" ") then
s:=s+c else check;
end;
i:=i+1;
end;
end;
result:=z;
end;

procedure TForm1.Button1Click(Sender: TObject);
var Source,Dest:Tstrings;
i:integer;
begin
Source:=TstringList.Create;
Dest:=TstringList.Create;
Source.LoadFromFile("c:\MyText.txt");
for i:=0 to Source.Count-1 do
begin
StringToWords(Source[i],2,Dest);
Application.ProcessMessages;
end;
Dest.SaveToFile("c:\MyWords.txt");
ShowMessage("Найдено "+IntToStr(Dest.Count)+" слов");
end;


 
Юрий Зотов ©   (2004-02-27 16:51) [6]

> Алхимик © (27.02.04 16:42) [1]
> Eagle-XK © (27.02.04 16:46) [2]

В вопросе сказано: СПИСОК строк. Что же еще нужно?



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

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

Наверх




Память: 0.48 MB
Время: 0.034 c
3-43396
nucl
2004-02-13 17:27
2004.03.14
ADO Connection


14-43789
arbin
2004-02-18 15:22
2004.03.14
Конкурс на лучшее поздравление к 23 февраля


14-43884
Prooksius
2004-02-20 16:43
2004.03.14
Win XP (SP1) - Не работает Disk Defragmenter


14-43754
wasilla
2004-02-19 17:40
2004.03.14
Где скачать книгу Краснова по ОпенЖилях?


3-43282
NorthMan
2004-02-12 16:02
2004.03.14
В чем дело, почему BDE выдает ошибку