我有一个字符串数组,我想获取以某个字符开头并以某个字符结尾的所有匹配项。这是我今天的做法:
var arr = ["Aa", "Bb", "Ab", "Abc", "Dd"]
var newArr = [String]()
for str in arr {
if str.characters.first == "A" && str.characters.last == "c" {
newArr.append(str)
}
}
arr = newArr
如果感觉真的很乱,但它确实有效。我可以使用过滤器或类似工具对其进行优化吗?
最佳答案
您可以将 filter
与 hasPrefix
和 hasSuffix
一起使用。试试这个:
arr = arr.filter({ $0.hasPrefix("A") && $0.hasSuffix("c") }) // Abc
关于arrays - 具有首字母和末字母优化的过滤器数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44733844/