【发布时间】:2017-09-04 04:07:45
【问题描述】:
我有一个如下所示的字符串:
let str = "One;Two;Three;Four;Five"
如何将每个值放在array 中,所以每个值都用 ";" 符号分隔。
我尝试过迭代,但感觉不对。然后我还想过滤结果,例如获取所有包含字母“o”的值。
感谢任何帮助。
【问题讨论】:
标签: arrays swift string filter
我有一个如下所示的字符串:
let str = "One;Two;Three;Four;Five"
如何将每个值放在array 中,所以每个值都用 ";" 符号分隔。
我尝试过迭代,但感觉不对。然后我还想过滤结果,例如获取所有包含字母“o”的值。
感谢任何帮助。
【问题讨论】:
标签: arrays swift string filter
很简单,使用这些原生函数:
首先导入Foundation、UIKit 或Cocoa(通常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
【讨论】:
let containsO = arr.filter({ $0.range(of: "o", options: .caseInsensitive) != nil })
import Foundation(或UIKit或Cocoa)才能工作。
let containsO = arr.filter({ $0.localizedCaseInsensitiveContains("o") })