用空格将字符串格开,我做错了什么?

jiangjian0427 2003-12-05 04:51:22
我想将类似 “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;
...全文
27 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangjian0427 2003-12-05
  • 打赏
  • 举报
回复
说过了 不能用stringreplace的函数
像“>=” 就不用分了所以一定要检查一下,请看一下条件
zhangnan623 2003-12-05
  • 打赏
  • 举报
回复
你用WHILE循环,程序错了,你细细看看,因为
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);
shuyi 2003-12-05
  • 打赏
  • 举报
回复
如果你想把num=全部替换成num =就用s:=AnsiReplaceStr(s,'num=','num =');
搞这么复杂干什么?
goldhawk_2000 2003-12-05
  • 打赏
  • 举报
回复
最后是不是该s:=s2+s1啊!
如果是这样的字符串 asd =dff=ddd

这个程序的结果是什么,第二个执行不到吧
Cipherliu 2003-12-05
  • 打赏
  • 举报
回复
'.............';//赋值
其中有'='吗?

5,390

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧