取回網頁的ID... |
答題得分者是:RaynorPao
|
milkbear
一般會員 發表:16 回覆:39 積分:11 註冊:2002-12-05 發送簡訊給我 |
版主不好意思...
現在才發現這個討論區...
所以我改到這邊來發問了...
我的網頁內容來源如下...
http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?CMD=&DB=PubMed
再搜尋human,所得到Lists如下...
1: Kim HA, Kim YH, Song YW. Related Articles, Links Facilitation of fas mediated apoptosis of human chondrocytes by the proteasome inhibitor and actinomycin d.
J Rheumatol. 2003 Mar;30(3):550-8.
PMID: 12610816 [PubMed - in process]
^^^^^^^^
2: Leff RL, Elias I, Ionescu M, Reiner A, Poole AR. Related Articles, Links Molecular Changes in Human Osteoarthritic Cartilage After 3 Weeks of Oral Administration of BAY 12-9566, a Matrix Metalloproteinase Inhibitor.
J Rheumatol. 2003 Mar;30(3):544-9.
PMID: 12610815 [PubMed - in process]
^^^^^^^^
我都把網頁存到MemoDocumentBody裡面了...
請問怎麼取出這些ID,並存到資料庫中呢...
現在卡在如何取出每篇摘要ID,謝謝...
|
milkbear
一般會員 發表:16 回覆:39 積分:11 註冊:2002-12-05 發送簡訊給我 |
|
milkbear
一般會員 發表:16 回覆:39 積分:11 註冊:2002-12-05 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: PMID: 12610816 [PubMed - in process] 大概知道可以先找到 [ ,然後把pos-1 再用erase(0,6)消掉PMID: ... 接下來就卡住了milkbear 你好: 請問你的網頁內容,都是固定的格式嗎?? 例如: PMID: 12610816 [PubMed - in process] 如果是的話~~可以簡單的利用 TStringList 及 StringReplace 來達成你的目的 AnsiString sz="PMID: 12610816 [PubMed - in process]"; TStringList *sl=new TStringList; TReplaceFlags Flags; Flags<-- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
milkbear
一般會員 發表:16 回覆:39 積分:11 註冊:2002-12-05 發送簡訊給我 |
|
milkbear
一般會員 發表:16 回覆:39 積分:11 註冊:2002-12-05 發送簡訊給我 |
RaynorPao BM你好...
因為我的來源是網頁內容...
包含不只一筆的PMID,還有其他不需要的文字和網頁語法...
那是不是就不適用你剛才所寫的語法了...
可能需要加入find('[')和erase()語法,改用STL寫是否比較方便呢,如下的例子...
string::size_type pos = pmid.find('[');
pmid.erase(pos - 1);
pmid.erase(0, 6);
ADOTable->Insert();
ADOTable->FieldByName("PMID")->Value = pmid.c_str();
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: RaynorPao BM你好... 因為我的來源是網頁內容... 包含不只一筆的PMID,還有其他不需要的文字和網頁語法... 那是不是就不適用你剛才所寫的語法了... 可能需要加入find('[')和erase()語法,改用STL寫是否比較方便呢,如下的例子... string::size_type pos = pmid.find('['); pmid.erase(pos - 1); pmid.erase(0, 6); ADOTable->Insert(); ADOTable->FieldByName("PMID")->Value = pmid.c_str(); milkbear 你好: (1)我所提供的程式碼做法,雖然只針對一行適用,但你可以配合迴圈,加以修 改,就可以達到你的目的了 ( > ( > > --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
milkbear
一般會員 發表:16 回覆:39 積分:11 註冊:2002-12-05 發送簡訊給我 |
|
milkbear
一般會員 發表:16 回覆:39 積分:11 註冊:2002-12-05 發送簡訊給我 |
|
milkbear
一般會員 發表:16 回覆:39 積分:11 註冊:2002-12-05 發送簡訊給我 |
RaynorPao你好:
AnsiString sz="PMID: 12610816 [PubMed - in process]";
AnsiString sz1; //New Add
TStringList *sl=new TStringList;
TReplaceFlags Flags;
Flags< AnsiString sz1=StringReplace(sz, " ", ",", Flags);
sl->CommaText=sz1;
ShowMessage(sl->Strings[1]);
delete sl;
這段程式碼是否不完整,無法complier...
請問這段程式碼是在做什麼工作呢,謝謝...
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |