TIL: Сегодня я изучал регулярные выражения (Regexp)

TIL: Сегодня я изучал регулярные выражения (Regexp)

В последнее время я изучаю язык программирования Ruby. Для меня, как новичка, важно изучить и применить базовые концепции, чтобы добиться успеха в программировании. Поэтому я выполняю все задания модуля, чтобы быть лучше подготовленным к успеху в качестве разработчика полного стека. Сегодня я работал над заданием ”Типы символов”, в котором мне было поручено написать программу, берущую случайную строку и выводящую общее количество букв, пробелов и цифр в данной строке.

strings = [ "здесь 12 плюс 25", "загадка номер 04", " " ] string = strings.sample pp string.

Чтобы сделать это возможным, я использовал регулярные выражения (regexp), метод .scan и метод .length.

Регулярные выражения - это последовательность символов, которые соответствуют строке. Они очень полезны для извлечения информации из строки или при использовании метода .gsub для замены информации внутри строки.

В этом примере:

letter_count = string.scan(/[A-za-z]/).length pp "Количество букв в строке составляет: #{letter_count}".

space_count = string.scan(/s/).length pp "Количество пробелов в строке составляет: #{space_count}".

digit_count = string.scan(/d/).length pp "Количество цифр в строке составляет: #{digit_count}".

Я хотел получить количество букв, пробелов и цифр в случайно выведенной строке. Для этого я использовал метод .scan() для итерации по строкам и аргументам регулярного выражения (/[A-za-z]/) которое соответствует всем заглавным и строчным буквам, (/\s/), которое соответствует всем пробелам, и (/\d/), которое соответствует всем цифрам.