delphi 取出一个字符在字符串出现的次数
3个回答
展开全部
这个问题可大可小,首先在于所求的字符是否unicode表示,尤其是编码值否超过基本字符平面(如超过,则一个Char其实不能表示一个完整的字符,需采用UCS4Char才能确保一个字符用一个变量容纳),其次在于用delphi的哪个版本。
以下,按照复杂的理解,用delphi 2009或之后版本,它们是unicode化了的,其string类型是UTF-16LE编码格式。
function CharCountOfString( C : UCS4Char; S : string ) : Integer;
var
S4 : UCS4String; // 其实是个动态数组
i : Integer;
begin
Result := 0;
S4 := UnicodeStringToUCS4String( S );
for i := 0 to High( S4 ) do
if S4[i] = C then
Inc( Result );
end;
以下,按照复杂的理解,用delphi 2009或之后版本,它们是unicode化了的,其string类型是UTF-16LE编码格式。
function CharCountOfString( C : UCS4Char; S : string ) : Integer;
var
S4 : UCS4String; // 其实是个动态数组
i : Integer;
begin
Result := 0;
S4 := UnicodeStringToUCS4String( S );
for i := 0 to High( S4 ) do
if S4[i] = C then
Inc( Result );
end;
展开全部
function stringn(s1,s2:string):integer
begin
result:=0;
while pos(s1,s2)>=0 do
begin
s2:=copy(s2,pos(s1,s2)+1,9999); //假设s2最大长度为9999个字符
result:=result+1 ;
end;
end;
begin
result:=0;
while pos(s1,s2)>=0 do
begin
s2:=copy(s2,pos(s1,s2)+1,9999); //假设s2最大长度为9999个字符
result:=result+1 ;
end;
end;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
function StrPosCount(subs:string;source:string):integer;
var
Str : string;
begin
Result := 0;
str := source;
while Pos(Subs,Str)<>0 do
begin
Delete(Str,Pos(Subs,Str),Length(Subs));
Inc(Result);
end;
end;
var
Str : string;
begin
Result := 0;
str := source;
while Pos(Subs,Str)<>0 do
begin
Delete(Str,Pos(Subs,Str),Length(Subs));
Inc(Result);
end;
end;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询