我正在尝试创建一种方法,该方法将从给定的句子中删除所有元音。我创建了函数“removeVowels”,在我看来这是正确的。但是,当我尝试在给定的句子之后调用该函数时,出现错误“类型为'String'的值没有成员'removeVowels'”。

var sent: String = "This website is for losers LOL!"

func removeVowels(sent: String) -> String {
    let vowels: [Character] = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    let result = String(sent.characters.filter{vowels.contains($0)})
    return result
}

print(sent.removeVowels)

最佳答案

由于将removeVowels设为独立的函数,因此需要使用函数语法来调用它:

print(removeVowels(sent:sent))

您可以使其成为String类的扩展属性,在这种情况下,您需要使用其他语法:
extension String {
    var removeVowels {
        let vowels: [Character] = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
        let result = String(self.characters.filter{!vowels.contains($0)})
        return result
    }
}

此调用语法现在可以使用:
print(sent.removeVowels)

编辑:您的实现是保留元音,而不是删除它们。

关于ios - 类型'String'的值没有成员'removeVowels',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45658672/

10-13 08:44