我们可以在javascript中删除字符串中的所有元音,如下所示:
function disemvowel(str) {
str = str.replace(/([aeiouAEIOU])/g, '')
return str;
}
Run Code Online (Sandbox Code Playgroud)
我在swift中实现了相同的功能,只是好奇,怎么能像javascript一样把它写得更短?
func disemvowelTheString(string: String) -> String {
var replacedString = string
let vowels = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
for vowel in vowels {
if string.containsString(vowel) {
replacedString = replacedString.stringByReplacingOccurrencesOfString(vowel, withString: "")
}
}
return replacedString
}
Run Code Online (Sandbox Code Playgroud)
一个选项是filter来自输入字符串字符的任何元音:
func removeVowels(input: String) -> String {
let vowels: [Character] = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
let result = String(input.characters.filter { !vowels.contains($0) })
return result
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1052 次 |
| 最近记录: |