字符串取数的小问题,请大哥帮帮忙!谢谢,在线等!像这样的一个字符串: 123.23.236.125.263.782.23.452.
我要从中分别取出123 23 236 125 263 782 23 452那这样要怎么样实现,是用什么函数呢,还是自已写呢,大哥帮帮忙吗,要是要自已写个函数,能否帮小弟写一个,小弟不会啊
我要从中分别取出123 23 236 125 263 782 23 452那这样要怎么样实现,是用什么函数呢,还是自已写呢,大哥帮帮忙吗,要是要自已写个函数,能否帮小弟写一个,小弟不会啊
做一个循环判断再处理一下就可以了,不是很难的
i: integer;
begin
s:='123.23.236.125.263.782.23.452.';
i := pos('.', s);
while i > 0 do
begin
s1 := Copy(s, 1, i-1);
showmessage(s1);
delete(s, 1, i);
i := pos('.', s);
end;
end;
var
ps,str:string;
vlpos:integer;
begin
memo1.Clear;
ps:='123.23.236.125.263.782.23.452.';
vlpos:= pos('.',ps);
if vlpos = 0 then
vlpos:= length(ps) + 1;
while vlpos > 0 do
begin
str:=copy(ps,1,vlpos - 1);
memo1.Lines.Add(str);
delete(ps,1,vlpos);
vlpos:= pos('.',ps);
if (vlpos = 0)and(ps <> '') then
vlpos:= length(ps) + 1;
end;
end;
str,str1 :string;
i :integer;
begin
str := '123.23.236.125.263.782.23.452.';
for i := 1 to length(str) do
begin
if str[i] = '.' then
str1 := str1 + ' '
else
str1 := str1 + str[i];
end;showmessage(str1);
end;
function Split(const srcStr, delimiter: string): TStrings;
var i: integer;
str: string;
begin
str := srcStr;
i := Pos(delimiter, str);
while i > 0 do
begin
result.Add(Copy(str, 1, i - 1);
Delete(str, 1, i);
i := Pos(delimiter, srcStr);
end;
end;调用:
srcStr := '123.23.236.125.263.782.23.452.';
result := TStringList.Create();
result := Split(srcStr, '.');
大意如此,没有测试
请大哥帮帮忙,小弟在线等,解决了,马上给分
procedure SeparateTerms(s : string;Separator : char;Terms : TStringList);
var
hs : string;
p : integer;
begin
Terms.Clear; // First remove all remaining terms
if Length(s)=0 then // Nothin' to separate
Exit;
p:=Pos(Separator,s);
while P<>0 do
begin
hs:=Copy(s,1,p-1); // Copy term
Terms.Add(hs); // Add to list
Delete(s,1,p); // Remove term and separator
p:=Pos(Separator,s); // Search next separator
end;
if Length(s)>0 then
Terms.Add(s); // Add remaining term
end;
你可以按照返回List的值给edit赋值
str,str1 :string;
i,j :integer;
begin
str := '123.23.236.125.263.782.23.452.';
j := 1;
str1 := '';
for i := 1 to length(str) do
begin
if str[i] = '.' then
begin
TEdit(FindComponent('Edit'+IntToStr(j))).Text = str1;
Inc(j);
str1 := ''
end else
begin
str1 := str1 + str[i];
end;
end;
end;
{ Str:要分割的字符串,Dot:分割符,返回分割后的列表}
begin
Result:=TStringList.Create ;
Result.Delimiter := Dot;
Result.DelimitedText := Str;
end;
Function TFrm_F1ZBmodal.GetValues(str,sign:String):TStrings;
var
i,j,len:Integer;
addstr:String;
begin
Result:=TStringList.Create;
addstr:='';
j:=1;
len:=length(sign);
for i:=1 to length(str) do
begin
if copy(str,i,len)<>sign then
begin
if j<=i then
addstr:=copy(str,j,i-j+1)
end
else
begin
Result.Add(Addstr);
Addstr:='';
j:=i+len;
end;
end;
Result.Add(Addstr);
end;
str,str1 :string;
i,j :integer;
begin
j :=1;
str := '123.23.236.125.263.782.23.452.';
for i := 1 to length(str) do
begin
if str[i] = '.' then
begin
editj.text := str1;
str1 := '';
j := j+1;
end;
else
str1 := str1 + str[i];
end;end;
str,str1 :string;
i,k :integer;
begin
k :=1;
str := '123.23.236.125.263.782.23.452.';
for i := 1 to length(str) do
begin
if str[i] = '.' then
begin
TEdit(FindComponent('Edit'+IntToStr(k))).Text := str1;
str1 := '';
k := k+1;
end
else
str1 := str1 + str[i];
end;end;