我有一个像这样的字符串...
ab-0-myCoolApp.theAppAB.in
如何从该字符串中获取单词myCoolApp ...?另外,还有许多格式相同的字符串,即myCoolApp可以是myCoolAppABX或myCoolAppABCD等。
答案 0 :(得分:1)
这可能是对您的问题的非常简短的解决方案(=众多解决方案之一),但是核心概念在每种情况下都是类似的。
输入具有一些随机值:
let inputs = ["ab-0-myCoolApp.theAppAB.in", "ab-0-myCoolAppABX.theAppAB.in", "ab-0-myCoolAppABXC.theAppAB.in"]
并使用正则表达式查找匹配项:
let regExp = try? NSRegularExpression(pattern: "-([^-]*?)\\.", options: NSRegularExpression.Options.caseInsensitive)
然后释放海妖:
inputs.forEach { string in
regExp?.matches(in: string, options: NSRegularExpression.MatchingOptions.reportProgress, range: NSMakeRange(0, string.lengthOfBytes(using: .utf8))).forEach({
let match = (string as NSString).substring(with: $0.range(at: 1))
debugPrint(match)
})
}
最终它将打印出以下列表:
"myCoolApp"
"myCoolAppABX"
"myCoolAppABXC"
注意: ,您可能需要在获得比赛的过程中实施更多的故障保护措施,或者可以在方便时重构整个构想。 >