Замена символов в строке

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by WR778129, 27 Sep 2016.

  1. WR778129

    WR778129 Member

    Joined:
    25 Jan 2013
    Messages:
    88
    Likes Received:
    39
    Reputations:
    0
    Есть текстовый файл вида:
    ha("func.1", значение1);
    ha("timer.online", значение2);

    Нужно заменять значения на выбранные случайно из списка.
    Файл в винде. Как и на чем лучше сделать?.
    Пробовал bash, безрезультатно.
     
  2. RedPro

    RedPro Banned

    Joined:
    30 Jul 2013
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Примитивно на Delphi7 замена значение1 на 1111111, значения2 на 222222 и вывод в Memo. В место цифр можно написать и использовать функцию рандома прежде подгрузив, что надо из текстовика к примеру в TStringList, а так прежде чем такое писать нужен пример файла ...
    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      param,param1: string;
    begin
      param:= 'ha("func.1", значение1)';
      param1:='ha("timer.online", значение2);';
    
      param:= StringReplace(param, 'значение1', '1111111', [rfReplaceAll, rfIgnoreCase]);
      param1:= StringReplace(param1, 'значение2', '222222', [rfReplaceAll, rfIgnoreCase]);
      Memo1.Lines.Add(param);
      Memo1.Lines.Add(param1);
    
    end;
    
    end.
     
  3. neviens

    neviens Member

    Joined:
    9 Oct 2013
    Messages:
    82
    Likes Received:
    28
    Reputations:
    3
    Code:
      int array[] = {11,4,24,-2,666,-18,64,128,256};
       srand(time(0));
       ha("func.1", array[rand() % (sizeof(array) / sizeof(int))]);
    
    Это на C.
     
  4. mr_Coder

    mr_Coder Member

    Joined:
    1 Dec 2016
    Messages:
    39
    Likes Received:
    6
    Reputations:
    0
    Ну я свои 5 копеек вставлю))
    Код на Python

    PHP:
    import re

    source 
    = ("ha('func.1', значение1);"'ha("timer.online", значение2);')

    for 
    line in source:
        try:
            
    key re.findall(r"""[\"\'](.*?)[\"\']"""line)[0]
        
    except IndexError:
            continue
        else:
            
    value re.findall(r'\,\s(.*?)\)'line)
            
    old_value value[0] if value else None
            new_value 
    input("Type value for {}. old value {}\n".format(keyold_value))
            print(
    re.sub(old_valuenew_valueline))