我的NSString
包含此字符串:
c&&(b.signature=Rk(c));return ql(a,b)}
RK
可以是任意两个字符。
我尝试使用(RegexKitLit)从字符串中获取RK
:
NSString *functionCode = [dataStr2 stringByMatching:@".signature=(.*?)\(" capture:1L];
和functionCode
总是nil
。知道什么是错的吗?
答案 0 :(得分:1)
不要为此使用正则表达式。如果字符串的格式始终相同,那么您只需执行以下操作:
NSString *dataStr2 = @"c&&(b.signature=Rk(c));return ql(a,b)}";
NSString *functionCode = [dataStr2 substringWithRange:NSMakeRange(16, 2)];
如果字符串不是那么固定,那么将其基于=
的位置。
NSString *dataStr2 = @"c&&(b.signature=Rk(c));return ql(a,b)}";
NSRange equalRange = [dataStr2 rangeOfString:@"="];
NSString *functionCode = [dataStr2 substringWithRange:NSMakeRange(equalRange.location + equalRange.length, 2)];