2017-04-08 87 views
-2

我有一个看起来像这样的字符串:独立字符串转换成数组,然后将其过滤

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

如何把每一个值在array,所以每个值与“;”分隔标志。

我试图迭代,但这并不正确。然后我也想过滤结果,例如获取所有包含字母“o”的值。

任何帮助表示赞赏。通过导入FoundationUIKitCocoa

开始(通常Foundation是默认值):

回答

1

很简单,使用这些原生功能。

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 
+1

的OP可能还需要一个CASEINSENSITIVE搜索本地化的结果和案例'让containsO = arr.filter({$ 0.range(of:“o”,options:.caseInsensitive)!= nil})' –

+1

你需要'import Foundation'(或'UIKit'或'Cocoa')上班。 – vacawama

+1

或localizedCaseInsensitiveContains'let containsO = arr.filter({$ 0.localizedCaseInsensitiveContains(“o”)})' –

相关问题