#import <Foundation/Foundation.h>
// 结构体的关键字 struct
// 一个整体 :由不同数据类型组成的一个整体
typedef struct Person
{
int age;
char *name;
}Person;
int main( int argc, const char * argv[]) {
@autoreleasepool {
// Person peson;
// peson.age = 20;
// peson.name = " 蓝精灵 ";
//
// Person liuyong;
// liuyong.age = 69;
// liuyong.name = " 刘罗锅 ";
// 字符串 可变字符串
// 字符串的初始化
/*
NSString *string = [[NSString alloc]init];
NSString *string1 = [NSString string];
NSString *string2 = [[NSString alloc]initWithString:string1];
NSString *string3 = @"...";
// int age;
// age = 20;
// 给字符串赋值
string = @"11111";
*/
// 字符串处理
// 1 、字符串的 格式化处理 ( 格式化字符串 )
int age = 20 ;
NSString *name = @" 陈真 " ;
NSString *info = [ NSString stringWithFormat : @"%@ 今年 %d" ,name,age];
NSLog ( @"%@" ,info);
// 截取 哪一个位置的字符串
// 1 、从哪个位置 开始截取字符串
// Index 不是下标 所以不是从 0 开始
NSString *newString = [info substringFromIndex : 2 ];
NSLog ( @"%@" ,newString);
NSString *message = @" 锄禾日当午,汗滴禾下土,。。。 " ;
NSLog ( @"%@" ,[message substringFromIndex : 12 ]);
// 2 、截取 字符串 到哪个位置
// substringToIndex
NSLog ( @"%@" ,[message substringToIndex : 12 ]);
NSLog ( @"%@" ,[message substringToIndex : 5 ]);
// 3 、截取字符串 从哪到哪
NSRange range;
// 定义 range 结构体的位置
range. location = 6 ;
// 在这个位置的基础之上 继续数几个长度
range. length = 5 ;
NSLog ( @"%@" ,[message substringWithRange :range]);
range. location = 5 ;
range. length = 7 ;
NSLog ( @"%@" ,[message substringWithRange :range]);
// 把字符串 通过指定字符 分割成数组
NSArray *messageList = [message componentsSeparatedByString : @" , " ];
NSLog ( @"%@" ,messageList[ 2 ]);
for ( NSString *obj in messageList) {
NSLog ( @"%@" ,obj);
}
NSString *result = @" 武松打虎 duang!duang!duang! 老虎跑下山 ya~ya~ya~" ;
NSArray *list = [result componentsSeparatedByString : @" " ];
NSLog ( @"%@" ,list);
// 把所有英文字母 转成大写
NSString *str = @"bRuce" ;
NSLog ( @"%@" ,str. uppercaseString );
// 把所有英文字母转成小写
NSLog ( @"%@" ,str. lowercaseString );
// 首字母大写
NSLog ( @"%@" ,str. capitalizedString );
// 拼接字符串
// 1 、 stringWithFormat
NSString *ss = @" 我是 " ;
NSString *ss2 = @" 好人 " ;
// 2 、
NSString *all = [ss stringByAppendingString :ss2];
NSLog ( @"%@" ,all);
// 3 、
NSString *allS = [ss stringByAppendingFormat : @"%@ 不止一天两天三四天 " ,ss2];
NSLog ( @"%@" ,allS);
// 4 、判断字符串 是否包含某个字符串
NSString *sss = @" 上山打老虎跑了 " ;
NSRange range119 = [sss rangeOfString : @" 老虎 " ];
// NSLog(@"%ld",NSNotFound);
if (range119. location != NSNotFound ) {
NSLog ( @"%@" ,sss);
} else {
NSLog ( @" 骗人 ~~~" );
}
// 字符串 以什么开始(字符串的头部包含什么内容)
if ([sss hasPrefix : @" 上山 " ]!= NO ) {
NSLog ( @" 存在 " );
} else {
NSLog ( @"error!" );
}
// 字符串 以什么结束(字符串的尾部包含什么内容)
if ([sss hasSuffix : @" 老虎跑了 " ] != NO ) {
NSLog ( @" 存在 " );
} else {
NSLog ( @"error!" );
}
// 可变字符串
NSMutableString *name11 = [[ NSMutableString alloc ] initWithString : @"bruce" ];
NSRange range110;
range110. location = 1 ;
range110. length = 4 ;
// 把指定位置的字符串 替换成另一个字符串
[name11 replaceCharactersInRange :range110 withString: @"lue" ];
NSLog ( @"%@" ,name11);
NSMutableString *ssss = [ NSMutableString stringWithString : @" 我是一名程序员 " ];
NSRange rrr;
rrr. location = 4 ;
rrr. length = 3 ;
[ssss replaceCharactersInRange :rrr withString: @" 医生 " ];
NSLog ( @"%@" ,ssss);
// 删除指定位置长度的字符串
rrr. location = 0 ;
rrr. length = 4 ;
[ssss deleteCharactersInRange :rrr];
NSLog( @"%@" ,ssss);
}
return 0 ;
}