来自列表(元音)的1个或多个字母的Swift正则表达式

时间:2016-03-06 17:32:04

标签: regex swift

我正在编写一个函数来确定名字是否有效。它需要的一个步骤是字符串中至少有1个元音。我在沙盒中试过这个:

var elem = document.getElementById('myButton');
elem.style.marginLeft = "90px";
elem.style.marginTop = "40px";
elem.style.width = "400px";

当我通过在线工具运行[aeiou]时,它表明该表达式对一个或多个元音有效。所以我想知道这是否与代码的“SELF CONTAINS%@”部分有关?我找不到替代品。我想知道SELF CONTAINS是否仅限于一个,因为它对firstName =“a”而不是“aa”或“David”返回true。有人可以建议吗?

1 个答案:

答案 0 :(得分:0)

循环元音并查看名称是否包含它。您还应该创建一个成功变量,以检查名称是否包含元音。如果是,请将变量设置为true。看起来应该是这样的:

let firstName = "David"
var containsVowel = false
let vowels = ["a", "e", "i", "o", "u"]
for vowel in vowels {
    if containsVowel == false {
        if firstName.lowercaseString.rangeOfString(vowel) != nil {
            containsVowel = true
        }
    }
}
if containsVowel == true {
   //The name contains a vowel!
}