これは正規表現パターンで実現できます。(.{11})\b[A-Z]\b
は(.{11})
任意の 11 文字を取得\b[A-Z]\b
し、単語境界で 1 文字を探します。つまり、スペースで囲まれているか、文字列の末尾にあることを意味します。例で文字が続く場合はC
、最後の を削除します\b
。これは、Objective-C で次のように実現できます。
NSError *error;
NSString *example = @"!!2553072 C";
NSRegularExpression *regex = [NSRegularExpression
regularExpressionWithPattern:@"(.{11})\\b[A-Z]\\b"
options:NSRegularExpressionCaseInsensitive
error:&error];
if(!regex)
{
//handle error
}
NSTextCheckingResult *match = [regex firstMatchInString:example
options:0
range:NSMakeRange(0, [example length])];
if(match)
{
NSLog(@"match: %@", [example substringWithRange:[match rangeAtIndex:1]]);
}