Удаление "+"

Тема в разделе "Perl программирование", создана пользователем Juliana, 19 янв 2012.

  1. Juliana

    Juliana Гость

    Здравствуйте! Помогите,пожалуйста, с программой. Задание: Удалить все знаки «+», за которыми следует цифра. Программа удаляет ВСЕ "+", а мне надо,чтобы она удаляла только те "+", за которыми идет цифра. Подскажите,пожалуйста, где ошибка в программе? Заранее спасибо!
    Код программы:

    # main program
    $st=<STDIN>;
    print "Loaded string: \"",$st,"\"\n";
    @s=split('',$st);
    for ($i=0;$i<=$#s;$i++)
    {
    if (($s[$i]="+")&&($s[$i+1]>"0")&&($s[$i+1]<="9"))
    {
    for ($j=$i;$j<=$#s-1;$j++) {$s[$j]=$s[$j+1];}
    pop(@s);
    $i--;
    }}
    print "Result1=\"",@s,"\"\n";
    $st =~ s/\+//g;
    print "Result2=\"",$st,"\"\n";
    exit;
     
  2. dreamer-fkn

    dreamer-fkn Гость

    Попробуйте так
    $st=~s/\+(\d)/$1/g;
     
Загрузка...

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