pragma mark 字符串搜索
pragma mark 概念
/**
开头 hasPrefix
结尾
包含
*/
pragma mark 代码
#import <Foundation/Foundation.h>
#pragma mark 类
#pragma mark main函数
int main(int argc, const char * argv[])
{
#pragma mark 字符串搜索
NSString *str = @"http://baidu.com";
BOOL flag = nil;
#warning 1.是不是 以 xxx 开头 (hasPrefix)
// 本质就是从字符串的第一个字符开始匹配,只要不匹配 就返回NO
flag = [str hasPrefix:@"http://"]; // 查看是不是 以 http:// 开头
NSLog(@"开头 flag %i",flag);
if (flag)
{
NSLog(@"是一个URL");
}
else
{
NSLog(@"不是一个URL");
}
#warning 2.是不是 以 xxx 结尾
// 本质就是从字符串的最后一个字符开始匹配,只要不匹配 就返回NO
// str = @"http://baidu.gif";
if ([str hasSuffix:@".gif"]) {
NSLog(@"是动态图片");
}
else
{
NSLog(@"不是动态图片");
}
#warning 3.是不是 包含了 xxxx
// 判断字符串 是否 包含 baidu.com
// 只要str 中包含该字符串, 那么就会返回该 字符串在 str 中的起始位置 以及 该 字符串的长度
// range 其实是一个结构体
/**
NSUInteger location; // 在第几位(从0开始数) baidu.com 在 http://baidu.com
NSUInteger length; // 该字符串 有多少位(从1开始数) baidu.com
*/
NSRange range = [str rangeOfString:@"baidu.com"];
NSLog(@"location = %lu, length = %lu",range.location,range.length); // b在第7位 baidu.com 一共有9位
// 例子
// 如果str 中 没有需要查找的字符串, 那么返回的range的length 是 0
str = @"lyh";
NSRange range1 = [str rangeOfString:@"lyh"];
// NSLog(@"location = %lu, length = %lu",range1.location,range1.length); // b在第1位 bc 一共有2位
// NSNotFound 没有找到
if (range1.location == NSNotFound) {
NSLog(@"str 中 没有需要查找的字符串");
}
else
{
NSLog(@"str 中 有需要查找的字符串");
NSLog(@"location = %lu, length = %lu",range1.location,range1.length); // b在第1位 bc 一共有2位
}
return 0;
}