我正在尝试创建一种方法,该方法将从给定的句子中删除所有元音。我创建了函数“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/