概述
#import <Foundation/Foundation.h>
typedef struct stu{
char name[20];
char sex;
NSInteger age;
}Student;
int main(int argc, const char * argv[]) {
@autoreleasepool {
#pragma mark NSString -(字符串的长度和内容都不可以改变)
//初始化方法——(Format)
// NSString *string = [[NSString alloc]initWithFormat:@"zhangsan"];
// //字面量方法
// NSString *string1 = @"lisi";
// //创建空字符串
// NSString *string2 = [NSString string];
// NSString *string3 = [[NSString alloc]init];
//
// //便利构造器
// NSString *str = [NSString stringWithFormat:@"zhangsan"];
// NSString *str2 =[NSString stringWithString:@"lisi"];
//求字符串的长度 关键字——length
NSString *str3 = @"zhangsan";
NSInteger len = [str3 length];
NSLog(@"len = %ld,",len);
//求取字符串中的某一个字符 方法——characterAtIndex:(需要注意的是字符串下标从零开始)
NSString *str4 = @"zhangdaren";
char c = [str4 characterAtIndex:1];
NSLog(@"c = %c",c);
//拼接字符串 方法——stringByAppendingString(需要注意不可变字符串的拼接得定义一个新的字符串接收,不能直接在不可变字符串内部改动)
NSString *str5 = @"lanou";
NSString *testStr = [str5 stringByAppendingString:@"nihao"];
NSLog(@"testStr = %@",testStr);
//获取子串
// 1.方法——substringFromIndex: 从指定下标开始获取子串,包括指定下标
NSString *subStr = @"zhangsan";
NSString *subStr1 = [subStr substringFromIndex:3];
NSLog(@"subStr = %@",subStr1);
// 2.方法——substringToIndex: 获取到指定下标,不包括指定下标
NSString *subStr2 = [subStr substringToIndex:4];
NSLog(@"subStr2 = %@",subStr2);
// 3.方法——substringWithRange: 获取指定范围的字符串,即从1开始的接下来三个字符
NSRange range = {1,3};
NSString *subStr3 = [subStr substringWithRange:range];
NSLog(@"subStr3 = %@",subStr3);
//字符串比较 关键字 compare (返回值是 -1 (前一个字符串小于后一个字符串) 0 (俩个字符串相等) 1(前一个字符串大于后一个))
NSString *s1 = @"zhangbo";
NSString *s2 = @"zhangco";
NSInteger flag = [s1 compare:s2];
NSLog(@"flag = %ld",flag);
//判断字符串是否相等 关键字 isEqualToString 返回BOOL类型 相等返回1 不相等返回0
NSString *ss = @"zhangsan";
NSString *ss1 = @"lisi";
BOOL f = [ss isEqualToString:ss1];
NSLog(@"f = %d",f);
//判断是否有前缀 关键字 hasPrefix 返回值是BOOL类型 有前缀 返回1 没有 返回 0
NSString *a = @"shsj";
BOOL f1 = [a hasPrefix:@"sh"];
NSLog(@"f1 = %d",f1);
//判断是否有后缀 关键字 hasSuffix 返回值是BOOL类型 有后缀 返回1 没有 返回 0
NSString *a1 = @"zhangsan";
BOOL ff = [a1 hasSuffix:@"an"];
NSLog(@"ff = %d",ff);
//将字符串中的所有字母大写 方法——uppercaseString
NSString *b = @"nihao";
NSString *b1 = [b uppercaseString];
NSLog(@"b1 = %@",b1);
//将字符串中的所有字母小写 方法——uppercaseString
NSString *c1 = [b1 lowercaseString];
NSLog(@"c1 = %@",c1);
//将字符串中的首字母大写 方法——uppercaseString
NSString *c2 = [c1 capitalizedString];
NSLog(@"c2 = %@",c2);
#pragma mark 可变字符串 NSMutableString
//可变字符串的创建与初始化
// NSMutableString *mInitString = [[NSMutableString alloc]initWithCapacity:2];
// NSMutableString *mInitString1 = [[NSMutableString alloc]init];
//便利构造器
NSMutableString *mInitString2 = [NSMutableString stringWithFormat:@"zhangsan"];
//字面量方法
NSMutableString *mInitString3 = [@"zhangsan" mutableCopy];
//字符串拼接
// 1.方法 appendString
[mInitString2 appendString:mInitString3];
NSLog(@"mInitString2 = %@",mInitString2);
// 2.方法 appendFormat
[mInitString2 appendFormat:@"haobang"];
NSLog(@"mInitString2 = %@",mInitString2);
//插入 关键字 insert (在指定下标中插入字符串)
[mInitString2 insertString:@"JA" atIndex:0];
NSLog(@"mInitString2 = %@",mInitString2);
//删除 关键字 delete 删除从指定下标开始的n个字符
NSRange range1 = {1,3};
[mInitString2 deleteCharactersInRange:range1];
NSLog(@"mInitString2 = %@",mInitString2);
//替换 关键字 replace 替换从指定下标开始的n个字符
NSRange range3 = {1,3};
[mInitString2 replaceCharactersInRange:range3 withString:@"HAG"];
NSLog(@"mInitString2 = %@",mInitString2);
//求长度 length
NSInteger len1 = [mInitString2 length];
NSLog(@"len1 = %ld",len1);
//把字符串中的内容重置 方法 setString 将字符串中的内容换为重新设置的内容
[mInitString2 setString:@"XAS151106"];
NSLog(@"mInitString2 = %@",mInitString2);
#pragma mark 数值类 NSNumber
// 将基本数据类型转换成对象
NSNumber *number = [[NSNumber alloc]initWithInt:20];
NSLog(@"number = %@",number);
//将对象转换成整形
NSLog(@"number = %d",number.intValue);
BOOL a2 = YES;
NSNumber *number1 = [[NSNumber alloc]initWithBool:a2];
NSLog(@"number1 = %@",number1);
//将对象转换成BOOL类型
NSLog(@"number = %d",number.boolValue);
char b2 = 'a';
NSNumber *number2 = [[NSNumber alloc]initWithChar:b2];
NSLog(@"number2 = %@",number2);
//将对象转换成字符型
NSLog(@"number2 = %c",number2.charValue);
NSNumber *number3 = [[NSNumber alloc]initWithFloat:20.5];
NSLog(@"number3 = %@",number3);
//将对象转换成浮点型
NSLog(@"number3 = %.1f",number3.floatValue);
#pragma mark NSValue
// 功能:将自定义结构体转换成NSValue
Student stu = {"zhangsan",'m',20};
NSValue *value1 = [[NSValue alloc]initWithBytes:&stu objCType:@encode(Student)];
Student stu1;
[value1 getValue:&stu1];
NSLog(@"value1 = %s",stu1.name);
NSLog(@"Hello, World!");
}
return 0;
}
最后
以上就是着急狗为你收集整理的NSString和NSMultableString和NSNumber以及NSValue的全部内容,希望文章能够帮你解决NSString和NSMultableString和NSNumber以及NSValue所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复