iphone
  • objective-c
  • nsregularexpression
  • 2012-11-27 3 views 0 likes 
    0

    아래 문자열에서 81698 숫자를 추출하려고합니다. 그러나 몇 가지 어려움이 있습니다.NSRegularExpression을 사용하여 문자열에서 숫자를 추출하는 방법

    여기 내 코드입니다.

    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

    줄까?

    답변

    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); 
    

    나는 그것이 당신에게 도움이 될 것이라고 생각합니다.

    +0

    고맙습니다.하지만 'stringByReplacingMatchesInString ...'을 사용하여 문자열을 가져올 수 있습니까? – David

    +0

    잘 모르겠습니다. 나는 시도하지 않았다. –

     관련 문제

    • 관련 문제 없음^_^