title: Extracting single values from a parsed NSString in objective-c
body: <p>These are my sample NSStrings (parsed into an array), simplified.</p>
  
  <p>The single string object is parsed like "STRING1, STRING2 then DATE TIME then - A:VALUE", ex:</p>
  
  <pre><code>The name of first value, first 17/04/2013 11:30:00 - A:30.0 // sometimes there is a comma after first string
  The name of second value 17/04/2013 11:00:00 - A:20.0 // sometimes there is NOT a comma after first string
  Name of third value 17/04/2013 10:30:00 - A:40.0
  Fourth 17/04/2013 09:40:00 - A:50.0
  Fifth value 17/04/2013 05:00:00 - A:10.0
  </code></pre>
  
  <p>Well, I need to extract the separate values of STRING or STRING, STRING:</p>
  
  <pre><code>The name of first value, first
  The name of second value
  Name of third value
  Fourth
  Fifth value
  </code></pre>
  
  <p>then DATE and TIME</p>
  
  <pre><code>17/04/2013 11:30:00
  17/04/2013 11:00:00
  17/04/2013 10:30:00
  17/04/2013 09:40:00
  17/04/2013 05:00:00
  </code></pre>
  
  <p>finally, the single VALUES:</p>
  
  <pre><code>30.0
  20.0
  40.0
  50.0
  10.0
  </code></pre>
  
  <p><strong>EDIT:</strong> I'm trying to use a code from Martin R for my parsed *allValues:</p>
  
  <pre><code>The *allValues array is something like: 
      (
          "The name of first value, first 17/04/2013 11:30:00 - A:30.0",
          "The name of second value 17/04/2013 11:00:00 - A:20.0",
          "Name of third value 17/04/2013 10:30:00 - A:40.0",
          "Fourth 17/04/2013 09:40:00 - A:50.0",
          "Fifth value 17/04/2013 05:00:00 - A:10.0"
      )
  </code></pre>
  
  <p>and here is the code to extract single values:</p>
  
  <pre><code>NSMutableArray *allValues = [parsedFeed valueForKey:@"values"];
  
  for (int i=1; i &lt; [allValues count]; i++) {
      NSString *string = [allValues objectAtIndex:i];
      NSString *pattern = @"(.*) (\\d{2}/\\d{2}/\\d{4} \\d{2}:\\d{2}:\\d{2}) - A:(.*)";
      NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern options:0 error:NULL];
      NSTextCheckingResult *match = [regex firstMatchInString:string options:0 range:NSMakeRange(0, [string length])];
  
      if (match != nil) {
      NSString *s1 = [string substringWithRange:[match rangeAtIndex:1]];
      NSString *s2 = [string substringWithRange:[match rangeAtIndex:2]];
      NSString *s3 = [string substringWithRange:[match rangeAtIndex:3]];
      NSLog(@"First part:  %@", s1);
      NSLog(@"Second part: %@", s2);
      NSLog(@"Third part:  %@", s3);
      }
  }
  </code></pre>
  
  <p>But in this case I cannot get any NSLog result (<strong>match == nil</strong>). What's happened? Thanks!</p>