Я извиняюсь за тот же вопрос, но я не получил ответа, я пытался в течение 2 дней, не получая его, может ли кто-нибудь мне помочь.
мне нужно найти и напечатать только строку, которая начинается и заканчивается на «&». но в моей строке много одинаковых случаев "&"
EX:
123:342:431:234& 232:2344:433:434& 234:453:534:3445&
я хочу напечатать только строку, начинающуюся с «& xyz», а затем заканчивающуюся на «&» (232:2344:433:434&)
когда-нибудь я получу
234:453:534:3445& 123:342:431:234& 232:2344:433:434&
здесь также я хочу напечатать тот же «& xyz» и заканчивается «&».
Я пробовал "NSRange", "NSscanner", "NSpredictive". Но я не понимаю, что конкретная строка должна быть ptrit
// NSS-сканер:
NSMutableArray *substrings = [NSMutableArray new];
NSScanner *scanner = [NSScanner scannerWithString:s];
[scanner scanUpToString:@"&abc" intoString:nil]; //
NSString *substring = nil;
[scanner scanString:@"&abc" intoString:nil]; // Scan the # character
if([scanner scanUpToString:@"&" intoString:&substring]) {
// If the space immediately followed the &, this will be skipped
[substrings addObject:substring];
NSLog(@"substring is :%@",substring);
}
// do something with substrings
[substrings release];
// NSpredictive :
NSString *new="123:342:431:234& 232:2344:433:434& 234:453:534:3445&";
NSArray *arr = [new ComponentsSepetratedByString @:" "];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self BEGINSWITH[cd] %@ AND self ENDSWITH[cd] %@",@"&abc",@"&"];
NSLog(@"Sorted Array %@",[arr filteredArrayUsingPredicate:predicate]);
NSArray *sortedArray = [arr filteredArrayUsingPredicate:predicate];
NSMutableArray *finalResult = [NSMutableArray arrayWithCapacity:0];
for(NSString *string in sortedArray)
{
NSString *content = string;
NSRange range1 = [content rangeOfString:@"&abc"];
if(range1.length > 0)
content = [content stringByReplacingCharactersInRange:range1 withString:@""];
NSRange range2 = [content rangeOfString:@"&"];
if(range2.length > 0)
content = [content stringByReplacingCharactersInRange:range2 withString:@""];
[finalResult addObject:content];
}
NSLog(@"%@",finalResult);