Рубрики
Без рубрики

Алгоритмы обучения с JS, Python и Java # 11: подсчитайте гласные

Эта серия изделий следует за курс Удимии Стивена Градера на трех разных языках. Сегодняшний … помеченный алгоритмами, JavaScript, Python, Java.

Эта серия статей следует из Стивена Градера Удемический курс на трех разных языках.

Сегодняшний вопрос – это простое введение в регулярные выражения.

— Направления Написать функцию, которая возвращает количество гласных, используемых в строке. Грады – это персонажи «А», «е» «я», «о» и «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;
    List checker = 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”