func xmlParsing(xml : NSString , node : String , node2 : String) -> [String]{ var error : NSError?; let regexOptions = NSRegularExpressionOptions.CaseInsensitive | NSRegularExpressionOptions.DotMatchesLineSeparators; var regexp01 : NSRegularExpression = NSRegularExpression.regularExpressionWithPattern("(?<=\(node)).*?(?=\(node2))", options: NSRegularExpressionOptions.CaseInsensitive, error: &error)!; var results : NSArray; results = regexp01.matchesInString(xml, options: NSMatchingOptions.ReportProgress, range: NSMakeRange(0, xml.length)); var retArray : [String] = []; for(var i = 0; i < results.count;i++){ var result = results.objectAtIndex(i) as NSTextCheckingResult; var matchvalue = xml.substringWithRange(result.rangeAtIndex(0)); retArray.append(matchvalue); } return retArray; }関数説明
第一引数:検索対象の文字列
第二引数:左側SearchKey
第三引数:右側SearchKey
返り値
retArray[0]//最初にマッチした文字
retArray[1]//2番目にマッチした文字
・
・
使用例
var retArray : [String] = xmlParsing("ABCDEFG",node : "AB",node2 : "FG");
println(retArray[0]);
表示結果
CDE
タグ
コメントをかく