Ответы пользователя по тегу Регулярные выражения
  • Как удалить ненужные символы?

    1na1
    @1na1
    Hello, world!
    Привет!

    На мой взгляд щупать первую букву лучше средствами языка программирования, а не регулярками. Это выйдет наглядней и более производительно.

    1. Считать первый символ из строки
    2. Модифицировать строку — при помощи регулярки "s/\D//g" удалить из строки все, что не является числом
    3. Проверить каким был первый символ
    4. Если первый символ был "F" — возвращаем его в строку при помощи конкатенации
    Пример на perl
    #!/usr/bin/perl -w
    
    $one = 'qwF12F3gh'; # Считываем примеры
    $two = 'FqwF12F3gh'; # В переменные
    
    for $example ($one, $two){ # Проходимся по обоим примерам в цикле
      $first = substr($example, 0, 1); # Считываем первый символ в переменную $first
      $example =~ s/\D//g; # Удаляем из строки все, что не является числом
    		
      if($first eq 'F'){ # Если первый символ равен "F"
        $example = 'F' . $example; # Возвращаем его обратно в строку 
      }
    }
    
    print 'qwF12F3gh', ' -> ', $one;
    print 'FqwF12F3gh', ' -> ', $two;
    
    # Результат 
    # qwF12F3gh -> 123
    # FqwF12F3gh -> F123

    Ответ написан
    Комментировать