Форум: "Начинающим";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
ВнизФункции работы со строковыми типами в Delphi Найти похожие ветки
← →
Slim (2007-11-08 09:18) [0]РЕбята, привет! Не могу найти функцию которая бы отрезала от строки слева (справа) первые например 5 символов.Или может есть функция которая бы резала предложение по пробелам не более N символов???
Спасибо!
← →
Сергей М. © (2007-11-08 09:22) [1]Что значит "отрезала" ?
← →
Palladin © (2007-11-08 09:22) [2]слева copy
справа можно и setlengthProcedure vtParseWords(Const s:String;p_theWords:TStringList;Const p_strAddChars:String="";p_nMinWordLen:Integer=3);
Var
Word:String;
i,n,nFrom:Integer;
Begin
nFrom:=1;
For i:=1 to Length(s) Do
If (Not (s[i] in Letters)) and (Pos(s[i],p_strAddChars)=0) Then
Begin
If (nFrom<>-1) and (i-nFrom>=p_nMinWordLen) Then p_theWords.Add(Word);
nFrom:=-1;
End Else If nFrom=-1 Then nFrom:=i;
If (nFrom<>-1) and (length(s)-nFrom>=p_nMinWordLen) and Then p_theWords.Add(Word,n);
End;
← →
Palladin © (2007-11-08 09:23) [3]Letters это множество всех допустимых в слове символов
← →
korneley © (2007-11-08 09:25) [4]A
> function Copy(S; Index, Count: Integer): string;
не устроит? Или надо обязательно "отрезать"? Тогдаprocedure Delete(var S: string; Index, Count:Integer);
из System
← →
Palladin © (2007-11-08 09:27) [5]что то я лишнего повырезал много :)
Procedure vtParseWords(Const s:String;p_theWords:TStringList;Const p_strAddChars:String="";p_nMinWordLen:Integer=3);
Var
i,n,nFrom:Integer;
Begin
nFrom:=1;
For i:=1 to Length(s) Do
If (Not (s[i] in Letters)) and (Pos(s[i],p_strAddChars)=0) Then
Begin
If (nFrom<>-1) and (i-nFrom>=p_nMinWordLen) Then
p_theWords.Add(Copy(s,nFrom,i-nFrom),n);
nFrom:=-1;
End Else If nFrom=-1 Then nFrom:=i;
If (nFrom<>-1) and (Length(s)-nFrom>=p_nMinWordLen) Then
p_theWords.Add(Copy(s,nFrom,Length(s)));
End;
← →
Lamer666 (2007-11-08 09:29) [6]Спасибо, то что НАДО!
← →
Slim (2007-11-08 09:32) [7]Спасибо, то что НАДО!
← →
Anatoly Podgoretsky © (2007-11-08 12:01) [8]LeftStr/RightStr/Trim
← →
umbra © (2007-11-08 12:02) [9]
> Не могу найти функцию которая бы отрезала от строки слева
> (справа) первые например 5 символов.LeftStr, RightStr, MidStr
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.042 c