delphi 取出一个字符在字符串出现的次数

 我来答
己闻楣Sx
2010-09-08 · TA获得超过1935个赞
知道大有可为答主
回答量:1057
采纳率:93%
帮助的人:891万
展开全部
这个问题可大可小,首先在于所求的字符是否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;
mchestnut
2010-09-08 · 超过30用户采纳过TA的回答
知道答主
回答量:135
采纳率:0%
帮助的人:88.4万
展开全部
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;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
renzhumin2
推荐于2018-05-13 · TA获得超过163个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:270万
展开全部
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;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式