如何取第3个'|'在字符串中出现的位置?有相关函数吗?(100分)

  • 主题发起人 主题发起人 lunyx
  • 开始时间 开始时间
L

lunyx

Unregistered / Unconfirmed
GUEST, unregistred user!
取第3个'|'的位置,如取'mm|nn|xx|ddfa|hahsdf|eof',如何取第3个'|'在字符串中的位置(排行老几)?
 
j:=0;
for i:=1 to length(s) do
begin
if copy(s,i,1)='|' do inc(j);
if j=3 then result:=i;
end;
 
PosEx要用上三次.现成的没有.
 
哦,,思路可取
 
sbzldlb写的就不错了
 
同意二楼的,没有专门函数
 
有时一些专门的函数忘了.我都是自己写一个类似的函数来代替的.
二楼写出来了.当然也可以用POS函数连续POS三次就行了.
 
c := 0;
for i := 1 to Length(s) do
begin
if s = '|' then Inc(c);
Result := I;
if c = 3 then Break;
end;
 
自己写个函数吧,上面的老兄给的就可以
 
哦,谢谢各位同志了,发钱了 ,出声就有分,分配不可能很公平,忘见谅。
 
暂时结不了,再问个问题:
Tde_Str=array of String;
Pde_Str=^Tde_Str;

function de_Str(S:String):Pde_Str;
var
R:array of String;
i:integer;
begin
SetLength(R,10);
for i:=0 to length(S)-1 do
begin
R:='a';
end;
result:=@R;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
SZ:Pde_Str;
i :integer;
begin
SZ:= de_Str('abcd');
for i:=low(SZ^) to high(SZ^)-1 do
showmessage(SZ^);
end;
end.
不知道哪里出了 问题了,帮看一下阿,谢谢
 
好吝啬,100分还要问几个问题哈
 
哈哈,,我没有分了,问完这个马上结
 
F8调试一下不就知道那出问题了?

^-^
 
for i:=0 to length(S)-1 do要改为 for i:=0 to high(s)-1 do吧
 
第一问函数:
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function GetStrPos(SubStr,SourStr:string;xth:Integer):Integer;
/*substr:查找字串,sourstr主串,xth第x个字串*/
end;
-------------------------------------------------------------------------


function TForm1.GetStrPos(SubStr,SourStr: string;xth:Integer): Integer;
var
Count,i : Integer;
begin
Count := 0;
Result :=0;
for i:=1 to Length(SourStr) do
begin
if Copy(SourStr,i,Length(SubStr))=SubStr then
begin
Inc(Count);
if Count= xth then
begin
Result := i;
Exit;
end;
end;
end;
end;
 
调试一下看是哪行错误了~~~~~~~~~~~~~
 
for i:=1 to Length(SourStr) do
应改成Length(SourStr)-Len(SubStr)
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部