高手请指点。高分! 现在有这些121.8.124.42:1080@SOCKS4$0 字符串,想把他分别提取出来。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var p1,p2,p3:integer; s,s1,s2,s3,s4:string;begin s :='121.8.124.42:1080@SOCKS4$0'; p1:=pos(':',s); p2:=pos('@',s); p3:=pos('$',s); s1 := copy(s,1,p1 - 1); showmessage(s1); s2 := copy(s,p1+1,p2 - p1 -1); showmessage(s2); s3 := copy(s,p2+1,p3 - p2 - 1); showmessage(s3); s4 := copy(s,p3+1,length(s) - p3); showmessage(s4);end; var//a1原字符串,a2为临时截取的字符串a1,a2: String;//m1.2.3分别为':','@','$'出现的位置m1,m2,m3:Integer;r1,r2,r3,r4: String;begin a1:='121.8.124.42:1080@SOCKS4$0'; m1:=pos(':',a1); //得到121.8.124.42 r1:=copy(a1,1,m1-1); //得到剩余字符串 a2:=copy(a1,m1+1,len(a1-m1)) m2:=pos('@',a2); //得到1080 r2:=copy(a2,1,m2-1); //得到剩余字符串 a2:=copy(a2,m2+1,len(a2-m2)); m3:=pos('$',a2); //得到SOCKS4 r3:=copy(a2,1,m3-1); //得到剩余字符串0 a2:=copy(a2,m3+1,len(a2-m3));end;//因为回贴的机器没安装delphi,无法测试,你测测 哇塞,怎么就pos+copy呀,我不知道 是lz完全不会delphi呢?还是我们理解太简单了,貌似这个问题很简单呀,哎 把他分别提取出来 可以解释下怎么个分别提取?什么要求,什么规则?是这样嘛?var p1,p2,p3:integer; s,s1,s2,s3,s4:string; begin s :='121.8.124.42:1080@SOCKS4$0'; p1:=pos(':',s); p2:=pos('@',s); p3:=pos('$',s); s1 := copy(s,1,p1 - 1); showmessage(s1); s2 := copy(s,p1+1,p2 - p1 -1); showmessage(s2); s3 := copy(s,p2+1,p3 - p2 - 1); showmessage(s3); s4 := copy(s,p3+1,length(s) - p3); showmessage(s4); end; 请教:void **在delphi中如何表示? 我想要实现的是那种就像浏览文件夹那样,在根目录中建一个文件夹后会在执行后的treeview中显现出来,其文件夹中的txt或doc文件能够显现在richedit中 怎样在一个非主窗体的MDI窗体上打开MDIChild窗体? 编程高手看过来!!!!应聘请回复并请附详细介绍 ★★不让标题栏显示在任务栏都有什么方法? iw程序如何获得exe文件的路径 怎么写win98下的service程序? 人之将去,其分也散 dbgrid组件的斑马线显示 大家看看这个网站 关于DBgrid的滚动条 怎么把1到9999的数字转成 4位字符串0001 0002 0003
p1,p2,p3:integer;
s,s1,s2,s3,s4:string;
begin
s :='121.8.124.42:1080@SOCKS4$0';
p1:=pos(':',s);
p2:=pos('@',s);
p3:=pos('$',s);
s1 := copy(s,1,p1 - 1);
showmessage(s1);
s2 := copy(s,p1+1,p2 - p1 -1);
showmessage(s2);
s3 := copy(s,p2+1,p3 - p2 - 1);
showmessage(s3);
s4 := copy(s,p3+1,length(s) - p3);
showmessage(s4);
end;
//a1原字符串,a2为临时截取的字符串
a1,a2: String;
//m1.2.3分别为':','@','$'出现的位置
m1,m2,m3:Integer;
r1,r2,r3,r4: String;
begin
a1:='121.8.124.42:1080@SOCKS4$0';
m1:=pos(':',a1);
//得到121.8.124.42
r1:=copy(a1,1,m1-1);
//得到剩余字符串
a2:=copy(a1,m1+1,len(a1-m1))
m2:=pos('@',a2);
//得到1080
r2:=copy(a2,1,m2-1);
//得到剩余字符串
a2:=copy(a2,m2+1,len(a2-m2));
m3:=pos('$',a2);
//得到SOCKS4
r3:=copy(a2,1,m3-1);
//得到剩余字符串0
a2:=copy(a2,m3+1,len(a2-m3));
end;//因为回贴的机器没安装delphi,无法测试,你测测
可以解释下怎么个分别提取?什么要求,什么规则?
是这样嘛?var
p1,p2,p3:integer;
s,s1,s2,s3,s4:string;
begin
s :='121.8.124.42:1080@SOCKS4$0';
p1:=pos(':',s);
p2:=pos('@',s);
p3:=pos('$',s);
s1 := copy(s,1,p1 - 1);
showmessage(s1);
s2 := copy(s,p1+1,p2 - p1 -1);
showmessage(s2);
s3 := copy(s,p2+1,p3 - p2 - 1);
showmessage(s3);
s4 := copy(s,p3+1,length(s) - p3);
showmessage(s4);
end;