全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1436
推到 Plurk!
推到 Facebook!

如何分開字串

答題得分者是:zombit
Dark852
一般會員


發表:14
回覆:19
積分:6
註冊:2004-09-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-28 15:20:11 IP:210.6.xxx.xxx 未訂閱
我想打以下的字串分開再存入一個array 中可以怎樣做呢 字串 aaa//bbb//c//dd/hhh 如果我想一遇到"//"時就把之前的字串存入array A[0] = aaa A[1] = bbb A[2] = c A[3] = dd A[4] = hhh
Dark852
一般會員


發表:14
回覆:19
積分:6
註冊:2004-09-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-28 15:43:28 IP:210.6.xxx.xxx 未訂閱
還有如何以知到以上的字串 有沒有contain aaa 呢 謝謝
zombit
初階會員


發表:63
回覆:39
積分:30
註冊:2004-05-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-28 15:48:30 IP:61.62.xxx.xxx 未訂閱
HI Dark852, 建議你先確定分隔的符號, 如果是 '//' 的話, 都先處理成 '/'.    再使用 StringList 的 Delimiter 功能, 範例如下:  
 
var 
 str : string;
 strlst : TStringList;
begin      str := 'aaa//bbb//c//dd/hhh';
  str := StringReplace(str, '//', '/', [rfReplaceAll, rfIgnoreCase]);
  
  // now str:='aaa/bbb/c/dd/hhh';      strlst := TStringList.Create;
  strlst.Add(str);      strlst.Delimiter := '/';
  strlst.DelimitedText := strlst.Text;      ShowMessage(strlst[1]); // bbb      strlst.Free;    
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-28 15:49:40 IP:61.70.xxx.xxx 未訂閱
您好: 1.以下函數將他存到StringList中.
procedure zCutStr(var StrList:TStringList;S,KeyStr:String);
var
 Len,j,iEnd:Integer;
begin
StrList:=TStringList.Create;
Len:=Length(S);
j:=0;
while Pos(KeyStr,S)>0 do
 begin
  iEnd:=Pos(KeyStr,S);
  StrList.Add(Copy(S,0,iEnd-1));
  Inc(j);
  S:=Copy(S,iEnd Length(KeyStr),Len);
 end;
StrList.Add(Copy(S,0,Length(S)));
end;
用法: zCutStr(List,Data,'//'); 2.設一個迴圈去一個個一判斷就好了. for i:=0 to List.Count-1 do if (List.Strings[i]='aaa') then showmessage('找到了');
jest0024
高階會員


發表:11
回覆:310
積分:224
註冊:2002-11-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-06-28 17:04:33 IP:59.104.xxx.xxx 未訂閱
引言: 您好: 1.以下函數將他存到StringList中.
procedure zCutStr(var StrList:TStringList;S,KeyStr:String);
var
 Len,j,iEnd:Integer;
begin
StrList:=TStringList.Create;
Len:=Length(S);
j:=0;
while Pos(KeyStr,S)>0 do
 begin
  iEnd:=Pos(KeyStr,S);
  StrList.Add(Copy(S,0,iEnd-1));
  Inc(j);
  S:=Copy(S,iEnd Length(KeyStr),Len);
 end;
StrList.Add(Copy(S,0,Length(S)));
end;
用法: zCutStr(List,Data,'//'); 2.設一個迴圈去一個個一判斷就好了. for i:=0 to List.Count-1 do if (List.Strings[i]='aaa') then showmessage('找到了');
if List.IndexOf('aaa')>=0 then ShowMessage('找到了');
系統時間:2024-05-04 16:00:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!