swift - 使用扩展名从字符串中删除特定字符

标签 swift string

我发现了这个很棒的扩展,它删除了引号中字符以外的所有内容。

extension String.UnicodeScalarView {
    var removeCharacters: String {
        return String(filter(("cfh".unicodeScalars).contains))
    }
}

print("abcd123efg".unicodeScalars.removeCharacters) // it prints “cf”, my desirable result is to make it print  “abd123eg”

它打印“cf”,我想要的结果是让它打印“abd123eg”。 你能帮我反转它以仅删除引号之间的字符并保留其他所有字符吗?

注意:识别 (unicodeScalars) 也很重要,所以请不要删除这部分。

最佳答案

您需要否定对 contains 的调用:

return String(filter { !"cfh".unicodeScalars.contains($0) })

关于swift - 使用扩展名从字符串中删除特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54359402/

相关文章:

ios - 带有 Cocoa Pods 的 Swift 框架

swift - 同步异步函数

javascript - 有没有一种方法可以指定在序列化时将对象的哪些数据传递给序列化程序?

ios - 如何在两个 UIViewControllers 上工作,一个在 swift 中,另一个在 objective-c 中..?

ios - 避免多行 UILabel 中的单个字符换行

swift - 带有 2 个链接的 UITextView 属性文本,每个链接都有不同的颜色不起作用

c++ - 包含 '\0' 的字符串文字 - 为什么它们不一样?

javascript - 连接 UTF-8 字符串

java - 字符串到堆栈和队列

java - 返回 Ljava.lang.Object 的字符串值