typedef struct Person
{
int age;
char *name;
}Person;
int main(int argc, const char * argv[]) {
@autoreleasepool {
Person person;
person.name ="小家伙";
person.age =20;
Person liusanjie;
liusanjie.name = "刘三姐";
liusanjie.age =45;
/*
1、字符串分为 可变字符串 和 不可变字符串;
2、字符串的初始化方式;
3、字符串不是一个容器类,不能够添加数据;
*/
NSString *string = [[NSString alloc]init];
NSString *string1 = [NSString string];
NSString *string2 = [[NSString alloc]initWithString:string1];
NSString *string3 = @"qwe";
int age;
NSLog(@"%d",age);
// 给字符串赋值
string = @"120";
/* 字符串的处理;
1、字符串的格式化处理;
*/
age = 20;
NSString *name = @"小庄";
NSString *info = [NSString stringWithFormat:@"%@已经%d岁了",name,age];
NSLog(@"%@",info);
/*
截取 那一个位置 的字符串;
截取到哪;
从哪儿开始截取;
*/
// 1、从哪个位置开始截取字符串;
NSString *newString = [info substringFromIndex:4];
NSLog(@"%@",newString);
// 练习
NSString *string4 = @"锄禾日当午,汗滴禾下土,。。。";
// NSString *newString2 = [info substringFromIndex:10];
NSLog(@"%@",[string4 substringFromIndex:12]);
// 2、截取字符串到那个位置;
NSLog(@"%@",[string4 substringToIndex:12 ]);
NSLog(@"%@",[string4 substringToIndex:6]);
// 3、从什么位置开始到什么位置结束;
NSRange range;
range.location = 5;
// 在这个位置的基础上,继续数几个长度;
range.length =7;
// 继续数的长度;
NSLog(@"%@",[string4 substringWithRange:range]);
NSRange jia;
jia.length = 5;
jia.location = 8;
NSLog(@"%@",[string4 substringWithRange:jia]);
// 把字符串通过指定字符分割成数组;
NSArray *messageList = [string4 componentsSeparatedByString:@"," ];
// 注意:在里面的逗号“,”必须和要分割的字符里面的逗号一样
NSLog(@"%@",messageList[0]);
for (id obj in messageList) {
NSLog(@"%@\n",obj);
}
NSString *ni = @"床前明月光;凝视地上霜;举头望明月;低头思故乡";
NSArray *messageList1 = [ni componentsSeparatedByString:@";"];
// NSLog(@"%@",a);
for (id 思故乡 in messageList1) {
NSLog(@"%@\n",思故乡);
}
// 把英文字母全部转换成大写的;
NSString *English = @"i study english!do you know";
NSLog(@"%@",English.uppercaseString);
// 大写转换成小写;
NSString *English1 = @"I STUDY ENGLISH!DO YOU KNOW";
NSLog(@"%@",English1.lowercaseString);
// 转换成首字母大写;
NSLog(@"%@",English.capitalizedString);
// 一句英语中的第一个单词的首字母大写;
// NSLog(@"%@",English.);
// 拼接字符串;
NSString *string5 = @"我";
NSString *string6 = @"打";
NSString *string7 = @"你";
NSString *q = [string5 stringByAppendingString:string6];
NSLog(@"%@\n",q);
NSString *w = [string5 stringByAppendingFormat:@"想打%@",string7];
NSLog(@"%@",w);
/* 不可变字符串的拼接,是在原来的把字符串的基础上,在拼接一个字符串 生成另外一个新的字符串;
不可变字符串 字符串拼接的两个方法都会生成一个新的字符串;
*/
// 查询字符串;
// 判断字符串里面是否包含某个字符串;
NSString *link = @"zxcbvnmkajsldhfgquwyeireotpy";
NSRange range1 = [link rangeOfString:@"dsa"];
// NSLog(@"%ld",NSNotFound);
if (range1.location !=NSNotFound) {
NSLog(@"%@",link);
}else
NSLog(@"没有查询到");
/*
(range.location !=NSNotFound)判断是否存在,
*/
// 字符串以什么开始;
// 字符串的头部包含什么内容;
if ([link hasPrefix:@"zxc"]!=NO) {
NSLog(@"存在");
}else
NSLog(@"错误");
// 字符串以什么结束;
if ([link hasSuffix:@"hj"]!=NO) {
NSLog(@"是");
}
else
NSLog(@"否");
// 可变字符串;
// 替换
NSMutableString *mustring = [[NSMutableString alloc]initWithString:@"bruse"];
NSRange range3;
range3.location = 1;
range3.length = 4;//从第二个位置替换四个长度;
// 把指定位置的字符串替换成另一个字符串;
[mustring replaceCharactersInRange:range3 withString:@"lood"];
NSLog(@"%@",mustring);
#pragma mark-------可变字符串拼接--------------
/*1、在原来字符串的基础之上又添加了一个字符串;
2、使用可变字符串,扩展出来的两个方法;
3、与原来的字符串合成一个字符串(还是原来的字符串的对象)
*/
#pragma mark--------练习2---------------------
NSMutableString *Ver = [[NSMutableString alloc]initWithString:@"我是一名程序员!"];
NSRange range4;
range4.location = 4;
range4.length = 3;
[Ver replaceCharactersInRange:range4 withString:@"医生"];
NSLog(@"%@",Ver);
// 删除指定位置的信息;
NSRange delect;
delect.location = 0;
delect.length = 4;
[Ver deleteCharactersInRange:delect];
NSLog(@"%@",Ver);
NSMutableDictionary *mud = [NSMutableDictionary dictionary];
NSDictionary *dic = @{@"ewq":@"frs",@"tre":@"gfdsh"};
[mud setObject:@"wew" forKey:@"dfsf"];
[mud setObject:dic forKey:@"qwe"];
NSLog(@"%@",mud);
}
return 0;
}