不区分大小写的字符串搜索 - iphone [英] case insensitive string search - iphone

查看:98
本文介绍了不区分大小写的字符串搜索 - iphone的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找一种在Objective-C中的另一个字符串中执行不区分大小写的字符串搜索的方法。我可以找到搜索区分大小写的字符串的方法,并比较不敏感的情况,但不搜索+不区分大小写。



我想要执行的搜索示例: / p>


john在我告诉约翰给我一个很好的搜索算法



< 我认为发布这个问题是一个非常好的想法中的坏IDEA


我更喜欢坚持只有NSStrings 。

解决方案

  NSRange r = [MyString rangeOfString:@Boo选项:NSCaseInsensitiveSearch] ; 

如果您经常使用NSString,可以将其封装到类别中的方法中。像这样:

  @interface NSString(MyExtensions)
- (NSRange)rangeOfStringNoCase:(NSString *)s;
@end

@implementation NSString(MyExtensions)
- (NSRange)rangeOfStringNoCase:(NSString *)s
{
return [self rangeOfString:s选项:NSCaseInsensitiveSearch];
}
@end

您的代码可能会变得更具可读性。然后,那些不熟悉的人不太可读。


I am looking for a way to perform a case insensitive string search within another string in Objective-C. I could find ways to search case sensitive strings, and to compare insensitive case, but not searching + case insensitive.

Examples of the search that I would like to perform:

"john" within "i told JOHN to find me a good search algorithm"

"bad IDEA" within "I think its a really baD idea to post this question"

I prefer to stick to only NSStrings.

解决方案

NSRange r = [MyString rangeOfString:@"Boo" options:NSCaseInsensitiveSearch];

Feel free to encapsulate that into a method in a category over NSString, if you do it a lot. Like this:

@interface NSString(MyExtensions)
-(NSRange)rangeOfStringNoCase:(NSString*)s;
@end

@implementation NSString(MyExtensions)
-(NSRange)rangeOfStringNoCase:(NSString*)s
{
    return  [self rangeOfString:s options:NSCaseInsensitiveSearch];
}
@end

Your code might become more readable with this. Then again, less readable for those unfamiliar.

这篇关于不区分大小写的字符串搜索 - iphone的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆