Помогите спарсить

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by aydar, 3 Oct 2010.

  1. aydar

    aydar Member

    Joined:
    12 Nov 2009
    Messages:
    259
    Likes Received:
    6
    Reputations:
    -2
    вообщем есть такой текст (не известно точное кол-во цифр)
    var all_checks = [128263,128264,128265,128266,128267,128268,128269,128270,128271,128272,128273,128274,128275,128276,128277,128278,128279,128280,128281,128282,128283,128284,128285,128286,128287,128288];

    надо спарсить все значения (цифры эти) и создать под каждую параметр пост запроса
    mailru_friends[]=128263 и тд возможно это, как?
     
  2. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    724
    Likes Received:
    110
    Reputations:
    22
    Сам когда думать начнешь?
    PHP:
    procedure TForm1.Button2Click(SenderTObject);
    const
      
    source 'var all_checks = [128263,128264,128265,128266,128267,128268,128269,128270,128271,128272,128273,128274,128275,128276,128277,128278,128279,128280,128281,128282,128283,128284,128285,128286,128287,128288];';
    var
      
    slTStringList;
      
    IInteger;
    begin
      sl 
    := TStringList.Create;
      try
        
    sl.Delimiter := ',';
        
    sl.DelimitedText := Copy(sourcepos('['source) + 1pos(']'source) - pos('['source) -1);
        for 
    := 0 to sl.Count do
          
    Memo1.Lines.Append(sl[i]);
      finally
        
    sl.Free;
      
    end;
    end;
     
    #2 GhostOnline, 3 Oct 2010
    Last edited: 3 Oct 2010
    1 person likes this.
  3. good_man

    good_man New Member

    Joined:
    24 May 2010
    Messages:
    129
    Likes Received:
    3
    Reputations:
    -2
    парсинг с стиле C++Builder:
    Code:
    String str=тут_твои_иды_или_как_их_там;
    
    str.Delete( str.Pos("var all_checks = ["),+18);
            while(str.Pos(","))
            {
            Memo2->Lines->Add(str.SubString(1,str.Pos(",")-1));
            str.Delete(1,str.Pos(","));
            }
            //ничего толкового не придумал, поэтому чтоб спарсить последний ид делаем так: 
            if(str.Pos("]"))
            {
            Memo2->Lines->Add(str.SubString(1,str.Pos("]")-1));
            }
    ТС это наглядный пример. в софте естесно выводишь не в мемо а забиваешь в TStringList*friends=new TStringList();

    когда делаешь пост естесно выглядит это что то типа:

    Code:
    //парсим другов:
    
    TStringList*friends=new TStringList();
    String str=твои_иды;
    
    str.Delete( str.Pos("var all_checks = ["),+18);
            while(str.Pos(","))
            {
            friends->Add(str.SubString(1,str.Pos(",")-1));
            str.Delete(1,str.Pos(","));
            }
            if(str.Pos("]"))
            {
            friends->Add(str.SubString(1,str.Pos("]")-1));
            }
    
    //дальше типа того:
    int fr_count=friends->Count;//посчитаем другов
    int ms=0;
    while(ms<=fr_count)
    {
    //блабла твой цикл отправки мессаг или типа того
    //предположим ты юзаешь инди:
    http->Get("http://url/"+friends->Strings[ms]);//или ранее подготавливаешь пост. тут просто наглядно даю тебе понять как брать спарсеный ид
    ms++;
    }
    delete friends;
    
    ==============================

    вот. некричать что так кодят индусы за 20$ в день ) и я бухой захотелось подсказать. :D
     
    #3 good_man, 5 Oct 2010
    Last edited: 5 Oct 2010
Loading...