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,"xuanyusong@gmail.com"];
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
相关推荐
Objective-C里核心的处理字符串的类就是NSString和NSMutableString这两个类,这两个类完成了Objective-C中字符串大部分功能的处理。这两个类的最主要的区别是NSString创建赋值后不能动态修改长度和内容,除非给重新...
FFSafeKit安全地使用NSArray,NSMutableArray,NSDictionary,NSMutableDictionary,NSMutableString。 功能安全访问NSArray安全访问NSDictionary安全访问并执行更改FFSafeKit安全地使用NSArray,NSMutableArray,...
[NSMutableString stringWithString:@"4"], nil]; NSMutableArray *dataArray2 = [NSMutableArray arrayWithObjects: [NSMutableString stringWithString:@"one"], [NSMutableString stringWithString:@"two"], ...
Objective-C提供了两种主要的字符串类型:`NSString` 和 `NSMutableString`。`NSString` 是不可变的,一旦创建就无法修改,而 `NSMutableString` 支持在字符串上进行各种修改操作。 首先,我们来看`NSString`的使用...
在Objective-C编程中,`NSString` 和 `NSMutableString` 是两个非常重要的字符串类,它们是Apple的Foundation框架的一部分,用于处理文本数据。本教程将深入探讨这两个类的使用方法、特性以及它们之间的区别。 首先...
`NSString`和`NSMutableString`是OC中处理字符串的主要类。`NSString`代表不可变字符串,一旦创建就不能修改,而`NSMutableString`则允许对字符串进行修改。 1. **NSString(静态字符串)操作**: - **声明字符串*...
3、无论是声明NSString还是NSMutableString类型的属性时,我们希望此属性被赋值为NSMutableString类型的字符串后,此属性不会因这个可变类型字符串的改变而改变(这也是多数情况下的用法),那就用copy修饰属性
NSMutableString *str = [NSMutableString string]; //第一次写入字典的key值 if (first) { for (NSString *key in dict.allKeys) { //"," 换列 [str appendString:[NSString stringWithFormat:@"%@,",key]...
Objective-C是一种用于开发iOS应用的主要编程语言,其字符串操作主要依赖于NSString类和NSMutableString类。NSString用于创建不可变字符串对象,而NSMutableString则用于创建可变字符串对象。以下是Objective-C中...
NSMutableString *mutableStr = [NSMutableString stringWithString:@"Hello, World!"]; self.strProperty = mutableStr; [mutableStr appendString:@", OC!"]; ``` 在这个例子中,虽然`strProperty`声明为`strong`...
NSMutableString *string2 = [NSMutableString stringWithFormat:@"删除字符串"]; [string2 deleteCharactersInRange:NSMakeRange(0, 2)]; ``` 6. **字符串比较**:使用`-[NSString isEqualToString:]`进行精确...
- 初始化:`NSMutableString *mutableString = [[NSMutableString alloc] init];` - 添加文本:`[mutableString appendString:@" New text"];` - 插入文本:`[mutableString insertString:@"Inserted" atIndex:0]...
对于不可变对象(如NSString),`copy`方法执行浅拷贝,返回的仍然是不可变对象,而`mutableCopy`方法执行深拷贝,返回可变的NSMutableString对象。在示例代码中,浅拷贝后的`copyString`和原始`string`具有相同的...
这个示例代码展示了OC中对字符串进行增删改查的基本操作,主要涉及`NSString`和`NSMutableString`两个类的使用。接下来,我们将详细讨论这些操作。 首先,我们来看`NSString`,它代表不可变的字符串,一旦创建就不...
追加字符串通常使用`appendString:`或`stringByAppendingString:`方法(对于NSMutableString对象),对于NSString对象,需要先创建NSMutableString实例: ```objc NSMutableString *str1 = [NSMutableString ...
NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2]; for (int i = 0; i ; i++) { [output appendFormat:@"%02x", result[i]]; } return output; } // SHA256加密 +...
3. `NSMutableString` 的方法:`NSMutableString` 类也有类似的方法,如`replaceOccurrencesOfString:withString:options:range:`,可以在找到匹配的正则表达式时替换字符串内容。 三、正则表达式在iOS中的应用 1....
在iOS应用中,Unicode主要通过Foundation框架中的NSString、NSMutableString类来实现。这些类能够处理UTF-16编码的Unicode字符串,UTF-16是Unicode的一个常见编码形式,它用两个或四个字节来表示一个字符。 1. **...
例如,在文本编辑器应用程序中,用户可能会频繁地添加、删除或修改文本,这时使用NSMutableString会更加高效。 #### 问题3:如何在数组中查找特定的元素? 答:可以通过遍历数组或使用`indexOfObject:`方法来查找...
在OC中,我们可以利用Foundation框架中的NSString和NSMutableString类来完成这个任务。 首先,我们需要一个方法来接收包含特殊字符的电话号码字符串。这个方法可以是一个实例方法或类别方法,例如: ```objc - ...