Je veux catégoriser les chaînes en trois types: bon, mauvais ou mixte. Si une chaîne a 3 voyelles consécutives ou 5 consonnes consécutives, ou les deux, alors elle est classée comme mauvaise. Sinon, il est classé comme bon. Les voyelles dans l'alphabet anglais sont ["a", "e", "i", "o", "u"] et toutes les autres lettres sont des consonnes.Comment classer une chaîne comme «bonne», «mauvaise» et «mixte» en fonction de séquences de voyelles et de consonnes
La chaîne peut également contenir le caractère ?
, qui peut être remplacé par une voyelle ou une consonne. Cela signifie que la chaîne "? Aa" peut être mauvaise si ?
est une voyelle ou bonne si c'est une consonne. Ce type de chaîne est classé comme mélangé.
Implémentez une fonction qui prend une chaîne s
et renvoie sa catégorie: bonne, mauvaise ou mixte.
Ci-dessous le code actuel que j'ai:
function classifyStrings(s) {
if (s.includes('?')) return 'mixed';
for (var i = 0; i < s.length; i++) {
if (s[i].match(/[aeiou]/gi) && s[i + 1].match(/[aeiou]/gi) && s[i + 2].match(/[aeiou]/gi)) {
return 'bad'
} else {
return 'good'
}
}
}
Quelqu'un peut-il me s'il vous plaît aider?
On dirait que vous essayez de trouver quelqu'un pour résoudre votre examen. – Janne
En guise d'aide, avec regEx vous pouvez utiliser une construction comme ceci/[aeiou] {3,}/gi pour déterminer s'il y a au moins trois voyelles dans une rangée. Je recommanderais [ce site] (https://regex101.com/) de mieux connaître regEx et ses nombreuses facettes (bien qu'il y en ait beaucoup de bonnes.) – rasmeister
@rasmeister J'ai essayé votre solution, mais le code ci-dessous ne semble pas au travail Savez-vous pourquoi? si (s [i] .match (/ [aeiou] {3} /)) retourner 'mauvais' – Tae