NSMutableString
//1.
NSMutableString *str=[NSMutableStringstringWithString:@"iphoneAndroid"];
NSString *str1=[str substringWithRange:NSMakeRange(0, 6)];
NSString *str2=[str stringByReplacingOccurrencesOfString:@"Android"withString:@""];
NSLog(@"str1=%@,,str2=%@",str1,str2);
//2
int a=158-39;
NSString *s=[NSString stringWithFormat:@"%d",a];
char *c=(char *)[s UTF8String];
NSString *s1=[NSStringstringWithUTF8String:c];
NSLog(@"s=%@,,s1=%@",s,s1);
//3
NSMutableString *sa=[NSMutableStringstringWithString:@"123-456-789-000"];
for(int i=0;i<3;i++){
[sa deleteCharactersInRange:[sa rangeOfString:@"-"]];
}
NSString *sa1=[sa stringByReplacingOccurrencesOfString:@"-"withString:@""];
NSLog(@"sa=%@,,sa1=%@",sa,sa1);
//4
NSMutableArray *array=[NSMutableArrayarrayWithObjects:@"234",@"435",@"232",@"111",nil];
NSLog(@"array==%@",array);
int count=(int)[array count];
NSArray *sortedArray = [array sortedArrayUsingSelector:@selector(compare:)];
for(int i =0; i <count; i++)
{
int x = [[sortedArray objectAtIndex:i]intValue];
NSLog(@"%d\n", x);
}
//经典的字符串赋值
6 NSString *str0 = @"我是雨松MOMO";
7
8//字符串格式化合并分别包括
9//NSString*类型 int类型 char*类型
10 NSString *str1 = [NSString stringWithFormat:@"我的名字:%@ 我的年龄:%d 我的邮箱:%s",@"雨松MOMO", 25,"[email protected]"];
11
12//字符串赋值参数中只可以写一个字符串和第一种很像
13 NSString *str2 = [NSString stringWithString:@"我是字符串"];
14
15//字符串转换为utf-8格式 参数为char*类型
16 NSString *str3 = [NSString stringWithUTF8String:"字符串转换utf-8格式"];
19//字符串合并
20 int i = 100;
21char*c = "xuanyusong";
22 NSString *temp = @"我是临时字符串";
23
24//在字符串temp的基础继续添加 int i 与 char* c 组成一个新的字符串
25 NSString *str4 = [temp stringByAppendingFormat:@"整型: %d 字符型:%s",i,c];
26
27//在字符串temp的基础继续添加temp 并组成一个新的字符串
28 NSString *str5 = [temp stringByAppendingString:temp];
29
30//字符串输出
31 NSLog(@"str0 = %@", str0);
32 NSLog(@"str1 = %@", str1);
33 NSLog(@"str2 = %@", str2);
34 NSLog(@"str3 = %@", str3);
35 NSLog(@"str4 = %@", str4);
36 NSLog(@"str5 = %@", str5);
37
38 }
2.字符串的遍历
每一个字符串其实是由若干个char字符组成,字符串的遍历实际上就是将字符串中的每一个字符提取出来。
1 - (void)viewDidLoad
2 {
3 [super viewDidLoad];
4
5//经典的字符串赋值
6 NSString *str = @"YUSONGMOMO";
8 //字符串的长度
9 int count = [str length];
13//遍历字符串中的每一个字符
14 for(int i =0; i < count; i++)
15 {
16 char c = [str characterAtIndex:i];
17 NSLog(@"字符串第 %d 位为 %c",i,c);
18 }
19
20 }
3.字符串的比较
isEqualToString 比较字符串是否完全相等,大小写不一样也无法完全匹配。
hasPrefixe 匹配字符串头
haSuffix 匹配字符串的尾巴
1 - (void)viewDidLoad
2 {
3 [super viewDidLoad];
6 NSString *str0 = @"雨松MOMO";
7 NSString *str1 = @"雨松MOMO";
10//字符串完全相等比较
11 if([str0 isEqualToString:str1])
12 {
13 NSLog(@"字符串完全相等");
14 }
15
16//字符串以开头比较
17 if([str0 hasPrefix:@"雨松"])
18 {
19 NSLog(@"字符串str0以雨松开头");
20 }
21
22//字符串以结尾比较
23 if([str1 hasSuffix:@"MOMO"])
24 {
25 NSLog(@"str1字符串以MOMO结尾");
26 }
27 }
4.字符串的截取与大小写改变
1 - (void)viewDidLoad
2 {
3 [super viewDidLoad];
6 NSString *str0 = @"中文my name is xuanyusong";
7
8//截取字符串起始点到index为4之间的内容
9 NSString * to = [str0 substringToIndex:4];
11 NSLog(@"to = %@",to);
12
13//截取字符index为2 到结尾之间的内容
14 NSString * from = [str0 substringFromIndex:2];
15
16 NSLog(@"from = %@",from);
19//设置截取字符串的范围
20//从第二位到第十位
21 NSRange rang = NSMakeRange(2, 10);
22 NSString * strRang = [str0 substringWithRange:rang];
23 NSLog(@"rang = %@",strRang);
24
25//设置字符串首字母大写
26 NSLog(@"str0首字母大写:%@",[str0 capitalizedString]);
27//设置字符串全部内容为大写
28 NSLog(@"str0大写:%@",[str0 uppercaseString]);
29//设置字符全部内容为小写
30 NSLog(@"str0小写:%@",[str0 lowercaseString]);
31
32 }
5.搜索字符串与替换字符串
1 - (void)viewDidLoad
2 {
3 [super viewDidLoad];
4
5
6 NSString *str0 = @"中文my name is xuanyusong";
7 NSString *temp = @"is";
8 NSRange rang = [str0 rangeOfString:temp];
9
10 NSLog(@"搜索的字符串在str0中起始点的index 为 %d", rang.location);
11 NSLog(@"搜索的字符串在str0中结束点的index 为 %d", rang.location + rang.length);
12
13//将搜索中的字符串替换成为一个新的字符串
14 NSString *str = [str0 stringByReplacingCharactersInRange:rang withString:@"哇咔咔卡卡咔"];
15 NSLog(@"替换后字符串为%@", str);
16
17
18//将字符串中" " 全部替换成 *
19 str = [str0 stringByReplacingOccurrencesOfString :@"" withString:@"@"];
20 NSLog(@"替换后字符串为%@", str);
%u 无符整形
%x, %X 二进制整数
%o 八进制整数
%zu size_t
%e 浮点/双字(科学计算)
%g 浮点/双字
%s C 字符串
%.*s Pascal字符串
%c 字符
%C unichar
%lld 64位长整数(long long)
%llu 无符64位长整数
%Lf 64位双字
%e 是实数,用科学计数法计的
格式字符说明
%a 一个浮点值(仅C99有效)
%A 同上
%c 一个字符
%d 十进制整数
%i 十进制,八进制,十六进制整数
%o 八进制整数
%x 十六进制整数
%X 同上
%c 一个字符
%s 一个字符串,遇空格、制表符或换行符结束。
%f 实数,可以用小数形式或指数形式输入。
%F 同上
%e 同上
%E 同上
%g 同上
%G 同上
%p 一个指针
%u 一个无符号十进制整数
%[] 扫描字符集合
%% %符号
类型 NSlog字符
short %hi, %hx, %ho
unsigned short %hu, %hx, %ho
int %i, %x, %o
unsigned %u, %x, %o
long %li, %lx, %lo
unsigned long %lu, %lx, %lo
long long %lli, %llx, %llo
unsigned long long %llu, %llx, %llo
float %f, %e, %g, %a
double %f, %e, %g, %a
long double %Lf, %Le, %Lg
id %p