NSRange 可以确定较大字符串中是否存在文本片段吗?
我有一个从 http GET 返回的大字符串,我试图确定它是否有特定的文本片段(请原谅我的罪过)
我的问题是这样的:我可以/应该使用 NSRange 来确定这是否文本片段确实存在吗?
NSRange textRange;
textRange =[[responseString lowercaseString] rangeOfString:[@"hat" lowercaseString]];
if(textRange.location != NSNotFound)
{
//do something magical with this hat
}
先感谢您!
I have a large string coming back from an http GET and I'm trying to determine if it has a specific snippet of text or not (please forgive my sins here)
My question is this: Can / Should I use NSRange to determine if this snippet of text does exist?
NSRange textRange;
textRange =[[responseString lowercaseString] rangeOfString:[@"hat" lowercaseString]];
if(textRange.location != NSNotFound)
{
//do something magical with this hat
}
Thank you in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以检查该位置是否为
NSNotFound
:如果未找到字符串,则
rangeOfString:
返回{NSNotFound, 0}
。如果您经常使用它,您可以将其捆绑到
NSString
上的一个类别中:You can check to see if the location is
NSNotFound
:If a string is not found,
rangeOfString:
returns{NSNotFound, 0}
.You could bundle this up into a category on
NSString
if you use it a lot:iOS 9.2、Xcode 7.2、启用 ARC
感谢“mipadi”的原始贡献。我想详细说明并更新答案。
为什么你仍然使用这种技术?嗯,
- (BOOL)containsString:(NSString *)str
仅支持 iOS 8.0 及更高版本。我最喜欢的用法:
希望这对某人有帮助!干杯。
iOS 9.2, Xcode 7.2, ARC enabled
Thanks "mipadi" for the original contribution. I wanted to elaborate and update the answer.
Why would you still use this technique? Well,
- (BOOL)containsString:(NSString *)str
is only supported iOS 8.0 and later.My favorite use of this:
Hope this helps someone! Cheers.