我有一个如下所示的字符串,我试图将每个部分 (,) 分隔成一个数组。
let stringArr = remainderString.componentsSeparatedByString(",")
0lY6P5Ur90TAQnnnI6wtnb,#29,Projekt-FZK-Haus,Projekt FZK-House create by KHH Forschuungszentrum Karlsruhe,$,$,$,(#67,#229,#275),#42
结果
["0lY6P5Ur90TAQnnnI6wtnb", "#29", "Projekt-FZK-Haus", "Projekt FZK-House create by KHH Forschuungszentrum Karlsruhe", "$", "$", "$", "(#67", "#229", "#275)", "#42"]
如果您注意到,(#67,#229,#275) 部分被分隔为“(#67”、“#229”、“#275)”
我想将(大括号)内的那些值插入到另一个数组中。所以我的问题是,如何找到开头的 ( 和结尾的 ) ?
最佳答案
试试这个:
// Subscripting a String with NSRange. Make dealing with ObjC-classes easier
extension String {
subscript(range: NSRange) -> String {
let startIndex = self.startIndex.advancedBy(range.location)
let endIndex = startIndex.advancedBy(range.length)
return self[startIndex..<endIndex]
}
}
let str = "0lY6P5Ur90TAQnnnI6wtnb,#29,Projekt-FZK-Haus,Projekt FZK-House create by KHH Forschuungszentrum Karlsruhe,$,$,$,(#67,#229,#275),#42"
let regex = try! NSRegularExpression(pattern: "\\((#[^\\)]+)\\)", options: [])
if let match = regex.firstMatchInString(str, options: [], range: NSMakeRange(0, str.characters.count)) {
let substr = str[match.rangeAtIndex(1)]
let components = substr.componentsSeparatedByString(",")
print(components)
}
关于ios - 快速从字符串中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38255411/