【问题标题】:Separate string into array and then filter it [duplicate]将字符串分成数组然后过滤它[重复]
【发布时间】:2017-09-04 04:07:45
【问题描述】:

我有一个如下所示的字符串:

let str = "One;Two;Three;Four;Five"

如何将每个值放在array 中,所以每个值都用 ";" 符号分隔。

我尝试过迭代,但感觉不对。然后我还想过滤结果,例如获取所有包含字母“o”的值。

感谢任何帮助。

【问题讨论】:

    标签: arrays swift string filter


    【解决方案1】:

    很简单,使用这些原生函数:

    首先导入FoundationUIKitCocoa(通常Foundation 是默认值)。

    1:你的字符串:

    let str = "One;Two;Three;Four;Five"
    

    2:将每个值与 ; 分开登录到一个数组:

    let arr = str.components(separatedBy: ";") // ["One", "Two", "Three", "Four", "Five"]
    

    3:过滤结果:

    let containsO = arr.filter({ $0.contains("o")}) // Two, Four
    

    3:过滤结果本地化且不区分大小写

    let caseSensativeO = arr.filter({ $0.localizedCaseInsensitiveContains("o")}) // One, Two, Four
    

    【讨论】:

    • OP 可能还需要不区分大小写的搜索 let containsO = arr.filter({ $0.range(of: "o", options: .caseInsensitive) != nil })
    • 你需要import Foundation(或UIKitCocoa)才能工作。
    • 或localizedCaseInsensitiveContains let containsO = arr.filter({ $0.localizedCaseInsensitiveContains("o") })
    猜你喜欢
    • 2021-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-23
    • 2017-10-14
    • 2010-11-27
    • 2013-08-19
    • 1970-01-01
    相关资源
    最近更新 更多