線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:799
推到 Plurk!
推到 Facebook!

請問如何取得' ' 及" "中的字串

尚未結案
760729
一般會員


發表:32
回覆:51
積分:16
註冊:2004-09-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-21 22:56:09 IP:59.105.xxx.xxx 未訂閱
請問各位先進: 要如何取得一篇文章中所有用 " " 及 ' ' 中的字串. 如 aaaaaa"xxxxx", bbbbbbbb"ccccc", 'vvvvvv'nnnnnnnnnn"ttttt"'oooooo' "ggggg"hhhhhhhhhhhhhh'yyyyyy'"rrrrrr" 中的 xxxxx, ccccc, vvvvvv, ttttt, oooooo, ggggg, yyyyyy, rrrrrr 的字串該如何取得.
pika2005
初階會員


發表:27
回覆:48
積分:25
註冊:2005-02-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-22 07:10:55 IP:218.162.xxx.xxx 未訂閱
引言: 請問各位先進: 要如何取得一篇文章中所有用 " " 及 ' ' 中的字串. 如 aaaaaa"xxxxx", bbbbbbbb"ccccc", 'vvvvvv'nnnnnnnnnn"ttttt"'oooooo' "ggggg"hhhhhhhhhhhhhh'yyyyyy'"rrrrrr" 中的 xxxxx, ccccc, vvvvvv, ttttt, oooooo, ggggg, yyyyyy, rrrrrr 的字串該如何取得.
Hi...拉一個Memo和一個Button..在Memo放上一篇文章..按下Button,會秀 出Memo中符合條件的字串..
void __fastcall TForm1::Button1Click(TObject *Sender)
{
       int i,j,Astart,Aend,Acount,Bstart,Bend,Bcount;
       bool Aflag=false,Bflag=false; // false代表第一個.true代表第二個
       AnsiString Data,Astring,Bstring;
         TStringList *slTxt=new TStringList;
         slTxt->LoadFromFile("d:\\test.txt");
         for(i=0;iLines->Count;i  )
         {
            Data= Memo1->Lines->Strings[i].SubString(0,500);
             for(j=1;j<=Data.Length();j  )
             {                    if(Data[j]==34)      //字元為"時
                {
                  if(Aflag==false)   // 第一個"時
                  {
                     Aflag=true;
                     Astart=j 1;
                  }
                  else if(Aflag==true) // 第二個"時
                  {
                     Aend=j;
                     Acount=Aend-Astart;
                     Aflag=false;
                     Astring=Data.SubString(Astart,Acount);
                     ShowMessage(Astring);
                     Astart=0;           // 歸零的動作
                     Aend=0;
                  }
                }
                else if(Data[j]==39)    //字元為'時
                {
                  if(Bflag==false)     // 第一個'時
                  {
                     Bflag=true;
                     Bstart=j 1;
                  }
                  else if(Bflag==true) // 第二個'時
                  {
                     Bend=j;
                     Bcount=Bend-Bstart;
                     Bflag=false;
                     Bstring=Data.SubString(Bstart,Bcount);
                     ShowMessage(Bstring);
                     Bstart=0;
                     Bend=0;
                     Bcount=0;
                  }
                }
             }
          }
}
 
發表人 - pika2005 於 2005/03/22 19:03:32
760729
一般會員


發表:32
回覆:51
積分:16
註冊:2004-09-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-23 00:12:56 IP:59.105.xxx.xxx 未訂閱
謝謝您的答案
chunglin
一般會員


發表:8
回覆:8
積分:3
註冊:2005-02-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-23 11:52:04 IP:61.221.xxx.xxx 未訂閱
提供一個較易觀看的做法, 需要一個 Memo、Edit、Button
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   AnsiString str;
   byte TagTmp;
   int tagPosStart;
   for(int j=0;jLines->Count;j  )
   {
     str=Memo1->Lines->Strings[j];
     tagPosStart=0;
     for(int i=0;iText=Edit1->Text   str.SubString(tagPosStart 1,i-tagPosStart-1)   " ";
            tagPosStart=0;
          }
     }
   }    }
創作需要無限的想像。 發表人 - chunglin 於 2005/03/23 12:02:45
760729
一般會員


發表:32
回覆:51
積分:16
註冊:2004-09-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-23 13:09:58 IP:61.61.xxx.xxx 未訂閱
謝謝. 的確簡易多了.
ubong
一般會員


發表:2
回覆:42
積分:23
註冊:2002-10-02

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-23 22:06:16 IP:218.170.xxx.xxx 未訂閱
字串是由0算起str[0]=第一個字,由此方向思考,以你的例子: void __fastcall TForm1::Button1Click(TObject *Sender) { char str[]="aaaaaa\"xxxxx\"bbbbbbbb\"ccccc\"'vvvvvv'nnnnnnnnnn\"ttttt\"'oooooo'          \"ggggg\"hhhhhhhhhhhhhh'yyyyyy'\"rrrrrr\""; char temp[31]; int find=0; int j=0; for(int i=0;iItems->Add(temp);j=0;find=0; } } } ubong
------
ubong
760729
一般會員


發表:32
回覆:51
積分:16
註冊:2004-09-08

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-03-23 22:59:07 IP:59.105.xxx.xxx 未訂閱
謝謝提供解答.
系統時間:2024-05-19 14:42:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!