有没有捷径来分割字符串? (50分)

  • 主题发起人 主题发起人 drawpharos
  • 开始时间 开始时间
D

drawpharos

Unregistered / Unconfirmed
GUEST, unregistred user!
例如:输入“name ;drawpharos ; 1”
其中的空格可能是多个空格或Tab
希望返回一个数组,分别包括上三个单词(也可能有多个单词)

懒得自己写代码了,最好有现成的拿来用。
 
注意:为全局动态数组
procedure getArray(const S: string);
var
; ;strInfor:string;
; ;intI,intJ,intNum:integer;
begin
; ;if length(s)<=0 then
; ; ; exit;

; ;strinfor:=s;
; ;inti:=pos(' ',strinfor);
; ;if (inti<>0) and (inti<>1) then
; ;begin
; ; ; setlength(arr1,1);
; ; ; intnum:=1;
; ; ; arr1[0]:=copy(strinfor,1,inti-1);
; ; ; strinfor[inti]:='M';
; ;end;

; ;intj:=pos(' ',strinfor);
; ;while intj<>0 do
; ;begin
; ; ; if intj<>inti+1 then
; ; ; begin
; ; ; ; ;inc(intnum);
; ; ; ; ;setlength(arr1,intnum);
; ; ; ; ;arr1[intnum-1]:=copy(strinfor,inti+1,intj-inti-1);
; ; ; ; ;strinfor[intj]:='M';

; ; ; ; ;inti:=intj;
; ; ; ; ;intj:=pos(' ',strinfor);
; ; ; end
; ; ; else
; ; ; begin
; ; ; ; ; inti:=intj;
; ; ; ; ; strinfor[intj]:='M';
; ; ; ; ; intj:=pos(' ',strinfor);
; ; ; end;

; ;end;
end;
 
strinfor[inti]:='M';
是什么意思?
 
我也懒得回答了,最好你自己写!
 
function get(s:string):array of string;
var a:array of string;
; ; i:integer;
begin
setlength(a,10);
i:=1;
while pos(' ',s)<>0 do
begin
a:=copy(s,1,pos(' ',s));
s:=trim(copy(s,pos(' ',s),length(s)-pos(' ',s)));
inc(i);
end;
result:=a;
end;
 
这个问题很简单,可是我不愿意回答!
你入错行业了。
 
嗬嗬,谢谢!
 
To:drawpharos:
; ;strinfor[inti]:='M'表示把字串中当前找到的空格设为'M',这样,下次再找到的空格即为
下一个空格!
; ; ;
 
hnlygtj:
; 不要这么高高在上!不愿帮别人就算了!
干吗要骂人!谁生下来就懂?
 
后退
顶部