[Delphi] преобразование из одного вида в другой

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

  1. ImLucky

    ImLucky New Member

    Joined:
    26 Sep 2010
    Messages:
    72
    Likes Received:
    3
    Reputations:
    0
    Всем привет, подскажите плз.
    Как программно сделать что бы из вида
    Code:
    http://my.mail.ru/mail/semirag
    http://my.mail.ru/inbox/kavaru
    Преобразовывалось в
    Code:
    semirag@mail.ru
    kavaru@inbox.ru
    То есть у нас есть ссылка -
    Code:
    http://my.mail.ru/mail/semirag
    /mail/ - означает домен
    /semirag - означает логин

    Я так понимаю что тут по аналогии парсера ? Но вот не понимаю, как сделать что бы он всё расставлял по своим местам, и добовлял "@" , и к домену ещё дописывал ".ru" . Есть у кого-то такие примеры ?
     
  2. Scripter

    Scripter Member

    Joined:
    3 Sep 2008
    Messages:
    141
    Likes Received:
    95
    Reputations:
    6
    Тебе нужен именно код? или достаточно программы, которая бы это сделала?
     
  3. ImLucky

    ImLucky New Member

    Joined:
    26 Sep 2010
    Messages:
    72
    Likes Received:
    3
    Reputations:
    0
    Желательно код, что бы я мог сам понять как это вообще делается, и использовать в дальнейшем. Желательно даже с комментами. Но можно и просто прогу, если не затруднит ) Заранее благодарен.
     
  4. Scripter

    Scripter Member

    Joined:
    3 Sep 2008
    Messages:
    141
    Likes Received:
    95
    Reputations:
    6
    как вариант можешь воспользоваться моей прогой:
    /showthread.php?p=2394528#post2394528

    В 4 шага сможешь изменить весь список :)

    Дано
    Code:
    http://my.mail.ru/mail/semirag
    http://my.mail.ru/inbox/kavaru
    
    1. Замена http://my.mail.ru/ на @
    Code:
    @mail/semirag
    @inbox/kavaru
    2. Замена / на .ru/
    Code:
    @mail.ru/semirag
    @inbox.ru/kavaru
    3. Указываем указатель на "/" и жмем "Y;X"
    Code:
    semirag/@mail.ru
    kavaru/@inbox.ru
    4. Замена / на пустоту
    Code:
    semirag@mail.ru
    kavaru@inbox.ru
     
  5. ImLucky

    ImLucky New Member

    Joined:
    26 Sep 2010
    Messages:
    72
    Likes Received:
    3
    Reputations:
    0
    Спасибо, сейчас попробую )
    Странный спобоб конечно, но всё же он работает ) Хоть как-то ) Ну в принципе по аналогии этих действий, попробую написать код.... хотя наврятли получиться у меня )
     
    #5 ImLucky, 20 Oct 2010
    Last edited: 20 Oct 2010
  6. Steam[777]

    Steam[777] Elder - Старейшина

    Joined:
    27 Sep 2010
    Messages:
    295
    Likes Received:
    41
    Reputations:
    25
    function MyStr(st:String):string;
    var st1:String;
    begin
    st1:=st;
    while pos('/',st1)<>0 do delete(st1,1,pos('/',st1));
    delete(st,pos('/'+st1,st),length(st1)+1);
    while pos('/',st)<>0 do delete(st,1,pos('/',st));
    result:=st1+'@'+st+'.ru';
    end;
     
    #6 Steam[777], 20 Oct 2010
    Last edited: 20 Oct 2010
  7. TikTik

    TikTik Member

    Joined:
    20 Feb 2009
    Messages:
    241
    Likes Received:
    12
    Reputations:
    2
    кури Регулярные выражения
     
  8. AlexTheC0d3r

    AlexTheC0d3r Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    да, намного проще использовать регулярку.
     
  9. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    млять, намного проще читать хоть основы языка чтобы потому не задавать глупые вопросы.
     
    1 person likes this.