我只是在玩Xcode,现在使用Xcode在另一个字符串中找到一些字符串。这里的问题是它没有显示我的期望。 (显示“找不到匹配!”) 有什么提示吗? 谢谢,
我的代码是:
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSString *listOfNames = @"huhuWARDdsfadfadsfsadfafsfsadfafr";
NSString *capListOfNames = [listOfNames capitalizedString];
NSString *name = @"WaRd";
NSString *capName = [name capitalizedString];
NSRange match = [capListOfNames rangeOfString:capName];
if (match.location == NSNotFound)
{
NSLog(@"No match faound!");
}else{
NSLog(@"Found!");
NSLog(@"location : %d",(int)match.location);
NSLog(@"length : %d",(int)match.length);
}
}
return 0;
}
答案 0 :(得分:2)
capitalizedString
以大写的第一个字母和其余的小写字母返回您的字符串。
使用capName = [name uppercaseString];
目前,您正在查找不包含"Ward"
的字符串中的"Ward"
(尽管它包含"WARD"
)。
编辑:capitalizedString
在字符串大写的每个单词中生成第一个字母,其余为小写。
另外,你可以这样做:
NSRange match = [capListOfNames rangeOfString:capName
options:NSCaseInsensitiveSearch];
其中,执行不区分大小写的搜索......
答案 1 :(得分:1)
capitalizedString
只会使第一个字母大写,而是使用uppercaseString
来实现您的期望。