Эта серия статей следует из Стивена Градера Удемический курс на трех разных языках.
Сегодняшний вопрос – это простое введение в регулярные выражения.
— Направления Написать функцию, которая возвращает количество гласных, используемых в строке. Грады – это персонажи «А», «е» «я», «о» и «U». — Примеры гласных («Привет там!») -> 3 гласные (почему вы спрашиваете? ») -> 4 гласных (« почему? ») -> 0
JavaScript:
function vowels(str) { let count = 0; let checker = ['a', 'e', 'i', 'o', 'u']; for (char of str.toLowerCase()) { if (checker.includes(char)) { count++; } } return count; }
Python:
def vowels(string): count = 0 checker = ['a', 'e', 'i', 'o', 'u'] for char in string.lower(): if char in checker: count += 1 return count
Джава:
import java.util.Arrays; import java.util.List; static int vowels(String str) { int count = 0; Listchecker = Arrays.asList('a', 'e', 'i', 'o', 'u'); for (char chr : str.toLowerCase().toCharArray()) { if (checker.contains(chr)) { count++; } } return count; }
JavaScript:
function vowels(str) { const matches = str.match(/[aeiou]/gi); // an array or null return matches ? matches.length : 0; }
Python:
import re def vowels(string): matches = re.findall('[aeiou]', string, re.IGNORECASE) # a list return len(matches)
Джава:
import java.util.regex.Matcher; import java.util.regex.Pattern; static int vowels(String str) { Pattern pattern = Pattern.compile("[aeiou]", Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(str); int count = 0; while (matcher.find()) { count++; } return count; }
Java 9+:
import java.util.regex.Pattern; static long vowels(String str) { return Pattern.compile("[aeiou]", Pattern.CASE_INSENSITIVE) .matcher(str) .results() .count(); }
Оригинал: “https://dev.to/tommy3/learning-algorithms-with-js-python-and-java-11-count-the-vowels-91m”