我想将类似 “num=”的字符转化为“num =”,不能用stringreplace的函数,现在返回的值是第一个“=”前面的string,请问我错在那里?:var s,s1,s2:string
cuti:integer;
s:='.............';//赋值cuti:=4;
s1:=s;
s2:='';
while(cuti>1) do
begin
cuti:=pos('=',s1);
if(cuti>1) then
begin
if(s1[cuti-1]<>' ') then
begin
s2:=s2+copy(s1,1,cuti-1)+' ';
s1:=copy(s1,cuti,length(s1)-cuti);
end;
end
else
break;
end;
s:=s2;
cuti:integer;
s:='.............';//赋值cuti:=4;
s1:=s;
s2:='';
while(cuti>1) do
begin
cuti:=pos('=',s1);
if(cuti>1) then
begin
if(s1[cuti-1]<>' ') then
begin
s2:=s2+copy(s1,1,cuti-1)+' ';
s1:=copy(s1,cuti,length(s1)-cuti);
end;
end
else
break;
end;
s:=s2;
如果是这样的字符串 asd =dff=ddd这个程序的结果是什么,第二个执行不到吧
搞这么复杂干什么?
s2:=s2+copy(s1,1,cuti-1)+' ';在S2前边还有个空格,所以S2得用Trim(s2)一下
如果只想得到num则:
cuti:=4;
s1:=s;
s2:='';
cuti:=pos('=',s1);
if(cuti>1) then
begin
if(s1[cuti-1]<>' ') then
begin
s2:=s2+copy(s1,1,cuti-1)+' ';
end;
end
s:=Trim(s2);
像“>=” 就不用分了所以一定要检查一下,请看一下条件