比如
找出 ab 在 aaabaaaabababaaabbbbabab中所有出现的位置用AnsiPos能实现吗?
找出 ab 在 aaabaaaabababaaabbbbabab中所有出现的位置用AnsiPos能实现吗?
解决方案 »
- 求Delphi的学习策略及书籍
- mapx中打印地图
- 求助:文本(含中文和英文)转换成UNICODE的转换函数
- 数据备份问题-急!!!!!!!
- 如何打印报表的时候画线,就是把报表的线画出来
- 我才学,怎么在在打开一个表后,把数据读到变量?
- 用Canvas做报表PreView, 字体的大小如何进行控制,请大佬,帮忙我在线等待
- 菜鸟问题:为何strrscan()中不能用edit.text?
- 一个轻量级问题,程序运行起来正常,但数据录入时输错了日期格式死机。只能是1980-08-08格式否则程序死锁该怎么办?
- IBDataSet里的sql属性取出的记录怎样使它可编辑?
- 高级难度问题,InplaceEditor ????
- 初恋女朋友来了,我不敢见她...
var
s:string;
n:integer;
l:tstringlist;
begin
s := 'aaabaaaabababaaabbbbabab';
l := tstringlist.Create;
s := stringreplace(s,'ab','/',[rfReplaceAll]);
l.Delimiter := '/';
l.DelimitedText := s;
n := l.Count;
if (leftstr(s,1) = '/') or (rightstr(s,1) = '/') then n := n -1
else
if (leftstr(s,1) = '/') and (rightstr(s,1) = '/') then n := n - 1;
showmessage(inttostr(n)); ///n即为你所需要的
l.Free;
end;
var
I, L: Integer;
S: string;
T: string; //输出用
begin
S := 'aaabaaaabababaaabbbbabab';
I := Pos('ab', S);
L := I;
while I > 0 do
begin
T := S;
Insert('|', T, L); //输出用
Memo1.Lines.Add(Format('%.2d:%s', [L, T])); //输出用
I := Pos('ab', Copy(S, L + 1, MaxInt));
if I > 0 then L := L + I;
end;
end;