编辑/更新: Swift 4.2或更高版本
您可以使用一组来过滤重复的字符:
let str = "bookkeeper"var set = Set<Character>()let squeezed = str.filter{ set.insert($0).inserted }print(squeezed) // "bokepr"或作为扩展,
RangeReplaceableCollection也将扩展String和Substrings:
extension RangeReplaceableCollection where Element: Hashable { var squeezed: Self { var set = Set<Element>() return filter{ set.insert($0).inserted } }}let str = "bookkeeper"print(str.squeezed) // "bokepr"print(str[...].squeezed) // "bokepr"



