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

字串解析

 
yu168
一般會員


發表:29
回覆:27
積分:16
註冊:2002-06-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-07-08 14:42:34 IP:211.22.xxx.xxx 未訂閱
新手發問 如果有一串字 XXXXX$ABCD$XXXXXXXX 要怎麼將 ABCD 取出來??? 因為$ABCD$放的位置是不固定的, 所以不知道怎麼取最快, 小弟是有想到用 Stack 來記下$ 的位置.....可是想歸想....做不出來, 是不是有比較簡單的方法可以做到????
jck1
一般會員


發表:53
回覆:67
積分:24
註冊:2002-05-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-07-08 15:02:41 IP:211.22.xxx.xxx 未訂閱
delphi有一個元件叫TRegExpr 這個元件支援樣式比對 可以下載來看看 TRegExpr library http://anso.virtualave.net/regexpr.zip (~284 Kb)
cocodi
一般會員


發表:21
回覆:65
積分:17
註冊:2002-06-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-07-08 15:28:05 IP:61.170.xxx.xxx 未訂閱
你的字串前後固定是 $ 嗎
天外來客
初階會員


發表:22
回覆:199
積分:44
註冊:2001-11-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-07-08 22:22:05 IP:61.13.xxx.xxx 未訂閱
要不要試試 POS的方式
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-07-15 01:11:15 IP:203.204.xxx.xxx 未訂閱
引言: 新手發問 如果有一串字 XXXXX$ABCD$XXXXXXXX 要怎麼將 ABCD 取出來??? 因為$ABCD$放的位置是不固定的, 所以不知道怎麼取最快, 小弟是有想到用 Stack 來記下$ 的位置.....可是想歸想....做不出來, 是不是有比較簡單的方法可以做到????
Hi, 若是沒有換行的字串的話, 建議你可以先用 StringReplace 將所有的 $ 改為 #13#10, 然後將該結果傳給一個 StringList, 再將該 StringList 看是否有第二個元素即可!! 如下:
procedure TForm1.Button1Click(Sender: TObject);
var
  my: string;
  my2: TStringList;
begin
  my2:= TStringList.Create ;
  my:='test$abcd$testttestset';
  my2.Text := StringReplace(my,'$',#13#10,[rfReplaceAll, rfIgnoreCase]);
  showmessage(my2.text);
  if my2.Count >=3 then
    showmessage(my2[1])
  else
    showmessage('not found');
  my2.Free;
end;    
yu168
一般會員


發表:29
回覆:27
積分:16
註冊:2002-06-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-07-15 09:27:39 IP:211.22.xxx.xxx 未訂閱
感謝眾兄的指教!! 問題已經有解決了, tks 還有jck1兄介紹的元件真的超好用的喔!!
系統時間:2024-03-28 23:28:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!