0

81698以下の文字列から数値を抽出したいのですが、いくつか問題が発生しています。

これが私のコードです。

NSString *content = @"... list.vars.results_thpp = 32;
                          list.vars.results_count = 81698;
                          list.vars.results_board = '12'; ...";

NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"results_count.*[0-9*];"
                                                                       options:NSRegularExpressionCaseInsensitive
                                                                         error:&error];



NSString *modifiedString = [regex stringByReplacingMatchesInString:content
                                                           options:0
                                                             range:NSMakeRange(0, [content length])
                                                      withTemplate:@"$1"];

出力はこれです

... list.vars.results_thpp = 32;
    list.vars.
    list.vars.results_board = '12'; ...

でも欲しいだけ81698

私は何を間違っていますか?

4

1 に答える 1

2
NSString *content = @"... list.vars.results_thpp = 32;list.vars.results_count = 81698;list.vars.results_board = '12'; ...";
NSString *param = nil;
NSRange start = [content rangeOfString:@"list.vars.results_count = "];
if (start.location != NSNotFound) {
    param = [content substringFromIndex:start.location + start.length];
    NSRange end = [param rangeOfString:@";"];
    if (end.location != NSNotFound) {
        param = [param substringToIndex:end.location];
    }
}
NSLog(@"param:%@", param);

お役に立てると思います。

于 2012-11-27T06:00:02.980 に答える