请问:取字符串右边几个字符,Delphi中有没有现成的函数? ( 积分: 10 )

  • 主题发起人 主题发起人 net_morning
  • 开始时间 开始时间
N

net_morning

Unregistered / Unconfirmed
GUEST, unregistred user!
function TStr.copyRigth(const Str, SubStr: string;
Index: Integer): string;
var
i: Integer;
begin
i := posEx(SubStr, Str, Index);
if i > 0 then
result := copy(Str, i + length(SubStr), maxint)
else
result := '';
end;

function TStr.copyRigth(const Str: string;
Index: Integer): string;
begin
result := copy(Str, Index, maxint);
end;

function TStr.posEx(const SubStr, Str: string;
const Index: Integer; const IsUpper: Boolean;
const Supportwildcard: Boolean): Integer;
var
lSubStr, lStr: string;
i, j, m, n, lIndex: Integer;
begin
result := 0;
//
lSubStr:= SubStr;
lStr:= Str;
lIndex:= Index;
if IsUpper then
begin
lSubStr:= toUpper(SubStr);
lStr:= toUpper(Str);
end;
//
m := length(lStr) + 1;
n := length(lSubStr) + 1;
i := 1;
while i < m do
begin
j := 1;
while j < n do
begin
if ((i+j-1) < m) and
((Supportwildcard and (lSubStr[j] = '?')) or
(lSubStr[j] = lStr[i+j-1])) then
inc(j)
else
break;
end;
if j < n then
inc(i)
else
begin
dec(lIndex);
if lIndex = 0 then
break
else
inc(i);
end;
end;
if i < m then result := i;
end;
 
Rightstr(str,10);
从str字符串的第10个开始的右边所有字符串。
还有一个是左边的:
LeftStr(str,10);
第10个字符的左边的;你试试就知道了!
 
strutils
Rightstr
 
有这么个函数.楼上说的对.
 
多人接受答案了。
 
后退
顶部