我想串歸類爲三種元音的序列和「混合」:好的,壞的,或混合。如果一個字符串有3個連續的元音或者5個連續的輔音,或者兩者都有,那麼它被歸類爲不合格。否則它被分類爲好。英文字母中的元音是[「a」,「e」,「i」,「o」,「u」],其他所有字母都是輔音。如何分類字符串作爲「好」,「壞」,並根據輔音
該字符串也可以包含字符?
,這可以通過一個元音或輔音代替。這意味着如果?
是元音字符串,「?aa」字符串可能很糟糕,如果是輔音字符串,則字符串可能很糟糕。這種字符串被分類爲混合。
實現一個功能,需要一個字符串s
,並返回其類別:好的,壞的,或混合。
下面是當前的代碼,我有:
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'
}
}
}
是否有人可以幫助我?
聽起來像是你試圖讓別人來解決你的考試。 – Janne
作爲一種協助,通過regEx,您可以使用類似這樣的構造/ [aeiou] {3,}/gi來確定連續是否至少有三個元音。我會推薦[本站](https://regex101.com/)更好地熟悉regEx及其許多方面(雖然有許多好的方面)。 – rasmeister
@rasmeister我試過你的解決方案,但下面的代碼似乎並不工作。你知道爲什麼? 如果(S [I] .match(/ [AEIOU] {3} /))返回 '壞' – Tae