Perl Замена символов

Тема в разделе "Perl программирование", создана пользователем Nikson77, 15 апр 2008.

  1. Nikson77

    Nikson77 Гость

    Люди добрые подскажите как правильно сделать замену символов в Perl. Задача такая, есть текстовый файл с огромным количеством строк:
    "1111";"ИВАНОВ ИВАН ИВАНЫЧ";"П.СВЕТЛЫЙ, Д.22, КВ.11"
    "2222";"ПЕТРОВ ПЕТР ПЕТРОВИЧ";"П.ТЕМНЫЙ, Д.33, КВ.22"
    и т.д.
    нужно заменить (, Д.) на (":)

    Пытался тут чего то, но безуспешно.
    _____________________________________________________
    open F1, $ARGV[0] or die "Error opening file $ARGV[0]\n";
    open F2, ">result.txt";
    while(<F1>) {
    # subst ($_,"\, Д\.","\"\;");
    $str =~ s/\, Д\./\"\;/g;
    print F2;}
    close F2;
    close F1;
    _____________________________________________________

    Подсобите пожалуйста. Народ советует замены в файлах большого размера делать именно на Perl, говорят так проще и быстрей, только помочь никто не может.
    Спасибо.
     
  2. Vovochka

    Vovochka Гость

    А чего вы хотели?
    Считываете вы в переменную $_ и пишете из нее.
    А обрабатываете переменную $str;
    Замените:
    Код (Text):
    $str =~ s/\, Д\./\"\;/g;
    На:
    Код (Text):
    s/\, Д\./\"\;/g;
    И надейтесь, что у вас не возникнет проблем с кодировками.
     
  3. Nikson77

    Nikson77 Гость

    Спасибо большое. Все работает.
    Дай Вам Бог здоровья!
     
Загрузка...
Похожие Темы - Perl Замена символов
  1. Anna_Kashina
    Ответов:
    0
    Просмотров:
    136
  2. SvetlanaL
    Ответов:
    0
    Просмотров:
    408
  3. SvetlanaL
    Ответов:
    0
    Просмотров:
    423
  4. SvetlanaL
    Ответов:
    0
    Просмотров:
    504
  5. SvetlanaL
    Ответов:
    0
    Просмотров:
    606

Поделиться этой страницей