------- android培训、java培训、期待与您交流! ----------
字符串比较
#import <Foundation/Foundation.h>
void test(){
NSString *str = @"abc";
NSString *str1 =@"ABc";
//取出每个字符的ASCII码值,比较ASCII码值大小
//compare 默认的区分大小写
// NSComparisonResult result = [str compare:str1];
NSComparisonResult result = [str compare:str1 options:NSCaseInsensitiveSearch|NSNumericSearch];
switch (result) {
case NSOrderedAscending:
NSLog(@"str<str1");
break;
case NSOrderedDescending:
NSLog(@"str>str1");
break;
case NSOrderedSame:
NSLog(@"str=str1");
break;
default:
break;
}
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *str = @"abc";
NSString *str1 =@"bc";
NSString *str2 = [NSString stringWithFormat:@"Abc"];
//地址的比较
//判断字符串内容真正是否相等,使用的是
//isEqualToString
if ([str isEqualToString:str2]) {
NSLog(@"相等");
}else{
NSLog(@"不相等");
}
}
return 0;
}
检测字符串的前缀和后缀
#import <Foundation/Foundation.h>
void test(){
NSString *url =@"http://ios.itcast.cn";
//检测一个字符串的前缀是否以http://开头或者https://开头
//str hasPre
if ( [url hasPrefix:@"http://"]||[url hasPrefix:@"https://"]){
NSLog(@"这是网址");
}else{
NSLog(@"这不是网址");
}
//检测字符串的后缀
//xxx.jpg 判断字符串的后缀是否是“.jpg”
//xxx.png
//xxx.gif
//xxx.jpeg
NSString *imgName = @"xxx.jpg";
if([imgName hasSuffix:@".jpg"]||[imgName hasSuffix:@".png"]||[imgName hasSuffix:@".gif"]){
NSLog(@"这是图片");
}else{
NSLog(@"这不是图片");
}
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
//字符串的查找
//查找某个字符串在另外一个字符串中首次出现的位置
//如果查找到了,返回
//如果查找不到,返回的信息:location 特别大的数(NSNotFound) length 0
//rangeOfString
NSString *str1 = @"dfdffefefaios";
NSString* str2 =@"ios";
//range 结构体变量
NSRange range = [str1 rangeOfString:str2];
if (range.location!=NSNotFound) {
// .location 表示字符串首次出现的位置
// .length 表示字符串出现的的长度
NSLog(@"%lu,%lu",range.location,range.length);
}else{
NSLog(@"没有找到这个字符chua");
}
}
return 0;
}
#import <Foundation/Foundation.h>
void test(){
NSString *str = @"http://www.baidu.com";
//1从 xx位置开始,到最后结束
NSLog(@"%@",[str substringFromIndex:5]);
//2 从开始位置,xx结束(不包含xx)
NSLog(@"%@",[str substringToIndex:5]);
// NSRange r = {3,4};
//3 截取范围 range
NSLog(@"%@",[str substringWithRange:NSMakeRange(3, 4)]);
}
//字符串截取的练习
void test2 (){
NSString *str = @"<itcast>传智播客IOS学院</itcast>";
NSUInteger loc = [str rangeOfString:@">"].location + 1;//“传”的位置
NSUInteger len = [str rangeOfString:@"</"].location-loc;
NSRange r2 = {loc,len};
NSString *str2 = [str substringWithRange:r2];
NSLog(@"%@",str2);
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
//字符串的替换
NSString *str =@"adfefdirrpfb.f,gmqergjl";
//把a替换成*
NSString *newstr = [str stringByReplacingOccurrencesOfString:@"a" withString:@"*"];
NSLog(@"%@",newstr);
//把空格给去掉
str = @"asddeo doenge dp[a, depx,d deofm";
NSString *str2 =[str stringByReplacingOccurrencesOfString:@" " withString:@""];
NSLog(@"%@",str2);
}
return 0;
}
NSString的其他用法
int main(int argc, const char * argv[]) {
@autoreleasepool {
//OC的字符串和C的字符串互相转换
char *s = "zhangsanfeng";
NSString *str = [NSString stringWithUTF8String:s];
NSLog(@"%@",str);
NSString *str2 = @"zbz";
//把str2转c得字符串
const char *s1 = [str2 UTF8String];
printf("%s",s1);
}
return 0;
}
NSMutableString的使用
//创建一个可变的字符串
NSMutableString *str = [NSMutableString string];
//给字符串增加元素
[ str appendString:@"http://www.baidu.com/%d"];
//删除字符串的元素(按照NSRange格式)
[str deleteCharactersInRange:NSMakeRange(3, 4)];
NSLog(@"%@",str);
//插入一个字符串在下标为3的位置
[str insertString:@"p://" atIndex:3];
NSLog(@"%@",str);
//用NSRange格式插入一个字符串,位置为(下标为11,长度为5)
[str replaceCharactersInRange:NSMakeRange(11, 5) withString:@"itcast"];
NSLog(@"%@",str);
}
NSArray的使用
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//NSArray特点:一旦创建成功,内容不可改变
//只能存放OC的对象
//1.创建一个空数组
NSArray *arr1 = [NSArray array];
NSLog(@"arr1 = %@",arr1);
//2.创建只有一个元素的数组
NSArray *arr2 = [NSArray arrayWithObject:@"2"];
NSLog(@"arr2 = %@",arr2);
//3.创建有多个元素的数组
NSArray *arr3 = [NSArray arrayWithObjects:@"one",@"two",@1, nil];
NSLog(@"arr3 = %@",arr3);
//4.调用对象方法,创建数组
NSArray *arr4 = [[NSArray alloc] initWithObjects:@"three",@"four", nil];
NSLog(@"arr4 = %@",arr4);
//5.用一个数组可以创建一个数组
NSArray *arr5 = [NSArray arrayWithArray:arr3];
NSLog(@"arr5 = %@",arr5);
}
return 0;
}
NSArray数组的遍历
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSArray *arr = @[@"one",@"two",@"three",@"four"];
//对数组进行遍历
for (int i = 0; i<arr.count; i++) {
NSLog(@"%@",arr[i]);
}
//普通的方式,通过下标访问
//快速枚举法 for循环的增强模式
for (NSString *str in arr) {
NSLog(@"%@",str);
}
//使用block的方式,进行访问 数组元素 元素下标 是否停止
[arr enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if (idx == 2) {
*stop= YES;
}else{
NSLog(@"idx = %ld,obj = %@",idx,obj);
}
}];
}
return 0;
}
NSMutableArray的基本使用
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//数组的使用
//创建数组
//空数组
NSMutableArray *arr =[NSMutableArray array];
//创建的时候初始化一个元素
NSMutableArray *arr2 = [NSMutableArray arrayWithObject:@"one"];
//创建的时候初始化多个元素
NSMutableArray *arr3 = [NSMutableArray arrayWithObjects:@"one",@"two", nil];
//创建一个数组,并且制定长度
NSMutableArray *arr4 = [NSMutableArray arrayWithCapacity:5];
NSLog(@"%@",arr4);
//添加元素
[arr addObject:@"fengjie"];
[arr insertObject:@"zbz" atIndex:1];
NSLog(@"%@",arr);
//删除元素
//根据对象内容删除
// [arr removeObject:@"zbz"];
NSLog(@"%@",arr);
//根据对象下标删除
[arr removeObjectAtIndex:1];
NSLog(@"%@",arr);
[arr removeAllObjects];
NSLog(@"%@",arr);
//修改元素
[arr3 replaceObjectAtIndex:1 withObject:@"four"];
NSLog(@"%@",arr3);
arr3[1] = @"five";
NSLog(@"%@",arr3);
//查找元素
BOOL isSerach = [arr3 containsObject:@"one"];
NSLog(@"%d",isSerach);
//交换元素
NSMutableArray *arr5 = [NSMutableArray arrayWithObjects:@1,@2,@3,@4,@5, nil];
[arr5 exchangeObjectAtIndex:0 withObjectAtIndex:4];
NSLog(@"%@",arr5);
}
return 0;
}
NSDictionary的使用
//不可变的,一旦创建,内容就不能添加/删除
NSDictionary *dir = [NSDictionary dictionary ];
NSDictionary *dir2 = [NSDictionary dictionaryWithObject:@"张三" forKey:@"zs"];
//创建一个字典,前面的是value值,后面是key值,两个一组
NSDictionary *dir3 = [NSDictionary dictionaryWithObjectsAndKeys:
@"value1",@"k1",@"value2",@"k2", nil];
NSLog(@"%@1",dir2);
//快速创建一个字典
//key值不能重复:
//如果重复了,不会报错,
//如果重复了,最后添加不会保存到字典中
NSDictionary *dir4 = @{@"zs":@"zhangsan",@"ls":@"list",@"bz":@"bangzhang"};
NSLog(@"%@1",dir4);
//获取字典的长度
NSLog(@"%lu",dir4.count);
//根据key值取出value值
NSLog(@"%@",[dir4 objectForKey:@"zs"]);
//字典的遍历问题
for (NSString* key in dir4) {
NSLog(@"k =%@,value = %@",key,[dir4 objectForKey:key]);
}
[dir4 enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) {
NSLog(@"%@ = %@",key,obj);
}];
NSDictionary的简写
//用简写形式定义一个字典
NSDictionary *dict = @{@"zbz":@"zhangbozhi",@"cgx":@"chengguanxi",@"xzmly":@"hello"
};
//用简写形式,获取key对应的value
NSLog(@"%@",dict[@"zbz"]);
NSMutableDictionary的使用
//可变字典的创建
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
NSMutableDictionary *dict2 = [NSMutableDictionary dictionaryWithCapacity:3];
//给可变字典添加键值对
[dict setValue:@"lisi" forKey:@"ls"];
[dict setValue:@"zhaosi" forKey:@"zs"];
[dict setValue:@"liuneng" forKey:@"ln"];
NSLog(@"%@",dict);
//删除
[dict removeAllObjects];
//修改
[dict setObject:@"zhaoshi" forKey:@"ls"];
dict[@"ls"] = @"xxx";
NSLog(@"%@",dict);
//查找
NSArray *arr = [dict allKeys];
[arr containsObject:@"ls"];