ios 用正則獲取需要的內容出現閃退(異常捕捉 try...catch...finally使用。)
阿新 • • 發佈:2018-12-17
1.用正則表示式取出需要的字串( @".\$([A-Za-z0-9]{13})\$.||.\#([A-Za-z0-9]{13})\#.||.\([A-Za-z0-9]{13})\.||.\%([A-Za-z0-9]{13})\%.||.\€([A-Za-z0-9]{13})\€."
)
有些機型發現閃退用 異常捕捉 try…catch…finally使用
for (NSString *regex in self.commandRegex)
{
if (![CMBCBLStringUtil strNilOrEmpty:regex])
{
NSRegularExpression *regexExp = [NSRegularExpression regularExpressionWithPattern:regex
options:NSRegularExpressionCaseInsensitive
error:nil];
NSArray *matches = [regexExp matchesInString:aString
options:0
range:NSMakeRange(0, aString.length)];
NSTextCheckingResult *result = [matches objectAtIndex_cmbc:0];
if (result)
{
NSRange range = [result rangeAtIndex:1];
// 生產環境部分裝置發生閃退 @try { self.commandString = [aString substringWithRange:range]; } @catch (NSException *exception) { self.commandString = @""; } @finally { } break; } } }
對異常的解釋
@try {
// 可能會出現崩潰的程式碼
} @catch (NSException *exception) {
// 捕獲到的異常exception
// 丟擲異常
@throw exception
} @finally {
// 結果處理
}