Ios NSStrings数组,该数组包含以字符串开头的对象
我试图查找以特定字符串开头的NSString数组中的所有对象,并返回包含所有这些对象的较小数组。例如,可以有一个包含以下对象的数组:Ios NSStrings数组,该数组包含以字符串开头的对象,ios,search,filter,nsstring,nsarray,Ios,Search,Filter,Nsstring,Nsarray,我试图查找以特定字符串开头的NSString数组中的所有对象,并返回包含所有这些对象的较小数组。例如,可以有一个包含以下对象的数组: 'Cat', 'Dog', 'Dolphin', 'Whale' 当它搜索字符串时,一个新的NSArray只返回Dog和Dolphin对象。试试这个- -(NSArray *)entriesInArray:(NSArray *)wordsArray whichStartWithString:(NSString *)startString { start
'Cat',
'Dog',
'Dolphin',
'Whale'
当它搜索字符串时,一个新的NSArray只返回Dog和Dolphin对象。试试这个-
-(NSArray *)entriesInArray:(NSArray *)wordsArray whichStartWithString:(NSString *)startString {
startString = [startString lowercaseString]; // get rid of this for case-sensitive (& the lowercaseString bit in the loop too)
NSMutableArray *resultsArray = [NSMutableArray array];
for (NSString *thisString in wordsArray) {
if ([[thisString lowercaseString] hasPrefix:startString]) [resultsArray addObject:thisString];
}
return resultsArray;
}
试试这个-
-(NSArray *)entriesInArray:(NSArray *)wordsArray whichStartWithString:(NSString *)startString {
startString = [startString lowercaseString]; // get rid of this for case-sensitive (& the lowercaseString bit in the loop too)
NSMutableArray *resultsArray = [NSMutableArray array];
for (NSString *thisString in wordsArray) {
if ([[thisString lowercaseString] hasPrefix:startString]) [resultsArray addObject:thisString];
}
return resultsArray;
}
有关使用谓词的更多信息,请参阅
有关使用谓词的详细信息,请参阅。尝试使用NSPredicate:
NSArray *arr = [NSArray arrayWithObjects:@"Dog",
@"Cat",
@"Dolphin",
@"Tiger", nil];
NSString *search = @"do";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF BEGINSWITH[c] %@", search];
NSArray *result = [arr filteredArrayUsingPredicate:predicate];
有关更多信息,您可以查看尝试使用NSPredicate:
NSArray *arr = [NSArray arrayWithObjects:@"Dog",
@"Cat",
@"Dolphin",
@"Tiger", nil];
NSString *search = @"do";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF BEGINSWITH[c] %@", search];
NSArray *result = [arr filteredArrayUsingPredicate:predicate];
有关更多信息,您可以查看,这是一个非常古怪的网站。我不得不用[cd]%添加SELF begins,而不仅仅是使用普通的旧%@。这太奇怪了。我必须用[cd]@添加SELF begins,而不仅仅是使用普通的旧%@。