我正在寻找字符串中字符的最后一个实例。鉴于Swift处理字符串(范围)的方式不同,我希望以前有人遇到过这种情况,因为我似乎找不到最佳的处理方式。
我想解析的字符串类似于“ http://imanimage_thatlooks_likethis_andmypixare_380.jpg”。我需要解析最后一个“ _”和最后一个“。”之间的段。因此编号为380。每个链接都采用这种格式,但是Swift的子字符串方法对我来说还是有点陌生,其中包含不同的字节长度。
提前致谢!
最佳答案
// regular expression to find substring between last "_" and last "."
let sourceStr = "abc_defg_hijk_lmn.xyz"
let regex = NSRegularExpression( pattern: "_([^_]*)\\.[^\\.]*$", options:nil, error:nil );
if let matchingResult = regex?.firstMatchInString( sourceStr, options: nil, range: NSMakeRange( 0, countElements( sourceStr ) ) ) {
let matchingRange = matchingResult.rangeAtIndex(1)
let matchingString = (sourceStr as NSString).substringWithRange( matchingRange )
}