:字符串的问题,超简单,50分 (50分)

X

xuming

Unregistered / Unconfirmed
GUEST, unregistred user!
在:A.1.3.11.11A 中
如何取出以下字符串:
A.1
A.1.3
A.1.3.11
 
1.copy(s,1,3)
2.copy(s,1,5)
3.copy(s,1,8)
 
for循环,判断'.'的个数
 
to 阿汀, A.1.3.11.11A 中每段的字符长度会变的。
to zw84611,能给个具体点的例子吗?
 
又来了
var
i:Integer;
s:TStrings;
begin
s:=TStringList.Create;
ExtractStrings(['.'],[],'A.1.3.11.11A',s);
for i:=1 to s.count-2 do
s:=s[i-1]+'.'+s;
for i:=1 to s.count-2 do
ShowMessage(s);
end;
 
k:=0;
for i:=1 to length(S)
begin
if S='.' then inc(k);
if k=2 //或3或4取决于你要第几个点的
then copy(s,1,i-1);
end;
 
to ysai, 你真是高手,留下QQ,有问题就找你了。
:)
交个朋友吧,我在广东,你呢?
 
有个pos函数,可以定位字符串中的子串,看看帮助。
循环可以控制你要定位第几个'.',
A.1 定位第二个'.',然后拷贝从字符串开头到定位点的字符就行了。
A.1.3 定位第三个'.',……

明白了吧?
 
var
s:string;
flag:boolean;
i,j,k:integer;
begin
j:=要找'.'数
s:='A.1.3.11.11A';
flag:=true;
while flag do
begin
if s='.' then
begin
k:=k+1;
end;
i:=i+1;
if k>j then
flag:=false;
end;
s:=copy(s,0,i-2);
 
顶部