OC学习笔记 字符串常用函数

格式化字符串 就是按一定格式输出的字符串  或者  将某种格式的字符串转化为另外一种格式。目的就是让程序可读性增强

创建字符串

1     NSstring * str1 = @"hello";
2     NSString * str = [[NSString alloc]initWithString:@"hello world!"];
3     NSString * str_1 = [[NSString alloc]initWithUTF8String:"hello world"];//把C的字符串转化为OC的字符串
4     int a = 123;
5     NSString * str_3 = [[NSString alloc]initWithFormat:@"a = %d %s%@", a, "abcd", @"efg"];//用格式化字符串初始化
6     //可完成字符串的拼接以及完成C的字符串与OC的字符串的转化
7     NSString * str1 = [NSString stringWithString:@"hello world"];
8     NSString * str2 = [NSString stringWithUTF8String:"hello world"];
9     NSString * str3 = [NSString stringWithFormat:@"%s","hello world"];

字符串转化:

1 NSString * str = @"hello";
2 const char *p = [str UTF8String];将OC字符串转化为C的字符串
3
4 str = @"123";
5 int a = [str intValue];//将数字串转化成整型数据
6     [str floatValue];//将数字串转化成float型
7         [str doubleValue];//将数字串转化成double型

常用的NSString Message(OC 的字符 :typedef unsigned short unichar)

 1 NSLog(@"%ld",[str1 length]);   //求字符串长度
 2
 3 NSLog(@"%c", [str1 characterAtIndex:1]);//获取字符串中的字符
 4
 5 BOOL ret =  [str1 isEqualTo:str2];//比较两个字符串是否相等,相等返回YES(1),不相等返回NO(0)   (BOOL   YES(1)  NO(0))
 6
 7 long ret1 = [str1 compare:str2];//比较两个字符串的大小,str1大于 返回1  相等返回0   小于返回-1
 8
 9 long ret2 = [str1 caseInsensitiveCompare:str2];//不区分大小写比较字符串大小
10
11 NSString * ptr = [str2 uppercaseString];//将字符串中的所有小写字符转换成大写 不改变原来的字符串
12
13 ptr = [str1 lowercaseString];//将字符串中的所有大写字符转换成小写 不改变原来的字符串
14
15 ptr = [str3 capitalizedString];//将字符串中出现的第一个字母转换成大写,其余字母小写
16
17 NSString * str4 = @"hello world";
18
19 NSRange range = [str4 rangeOfString:@"wr"];//查找子串,找不到返回NSNotFound 找到返回location和length
20
21 if (range.location != NSNotFound) {
22
23     NSLog(@"%ld %ld",range.location, range.length);
24
25 }
26
27 NSString * str5 = @"helloworld";
28
29 NSString * ptr1 = [str5 substringToIndex:4];//字符串抽取 从下标0开始到4 不包括4
30
31 NSString * ptr2 = [str5 substringFromIndex:5];//从下标5开始抽取到字符串结束 包括5
32
33 NSRange range1 = {4,3};//结构体初始化
34
35 NSString * ptr3 = [str5 substringWithRange:range1];//在range指定范围内抽取
36
37 NSString * ptr4 = [str5 substringWithRange:NSMakeRange(4,3)];//NSMakeRange可以生成一个结构体
38
39
40
41 NSString * str = @"www.1000phone.com";
42
43 BOOL ret = [str hasPrefix:@"www"];//判断字符串是否以指定字符串开头
44
45
46
47 NSString * str1 = @"1.txt";
48
49 BOOL ret1 = [str hasSuffix:@".txt"];//判断字符串是否以指定的字符串结尾
50
51
52
53 NSMutableString可变字符串(动态增加和减少的)   继承于NSString可以使用NSString的所有方法
54
55 NSMutableString * str =  [[NSMutableString alloc]initWithString:@"hello"];//将不可变的字符串转换为可变的字符串
56
57 [str insertString:@"123" atIndex:1];//在指定下标(不要越界)位置插入NSString类型字符串
58
59 [str appendString:@"123"];//在字符串末尾追加字符串
60
61 [str deleteCharactersInRange:NSMakeRange(0, 2)];//从指定下标删除length个字符
62
63 [str setString:@"qianfeng"];//修改字符串亦称对该可变字符串赋值
64
65 [str replaceCharactersInRange:NSMakeRange(3, 1) withString:@"ios"];//将指定下标位置的length个字符替换为指定的字符串
时间: 2024-08-01 04:04:02

OC学习笔记 字符串常用函数的相关文章

python 学习笔记 14 -- 常用的时间模块之datetime

书接上文,前面我们讲到<常用的时间模块之time>,这次我们学习datetime -- 日期和时间值管理模块 使用apihelper 查看datetime 模块,我们可以看到简单的几项: date       ---  日期对象,结构为date(year, month, day) time       ---  时间值对象,结构为 time([hour[, minute[, second[, microsecond[, tzinfo]]]]]).时间对象所有的参数都是可选的.tzinfo 可以

python 学习笔记 13 -- 常用的时间模块之time

Python 没有包含对应日期和时间的内置类型,不过提供了3个相应的模块,可以采用多种表示管理日期和时间值: *    time 模块由底层C库提供与时间相关的函数.它包含一些函数用于获取时钟时间和处理器的运行时间,还提供了基本解析和字符串格式化工具 *    datetime 模块为日期.时间以及日期时间值提供一个更高层接口.datetime 中的类支持算术.比较和时区配置. *    calendar 模块可以创建周.月和年的格式化表示.它还可以用来计算重复事件.给定日期是星期几,以及其他基

黑马程序员-OC学习笔记之autorelease与自动释放池

---------------------- IOS开发.Android培训.期待与您交流! ---------------------- 一.autorelease autorelease与release相似,是OC中的一个对象方法.这两个方法都能把对象的引用计数器减1,但是release是一个精确的减1,对对象的操作只能在release之前进行,如果是在之后,就会出现野指针错误:而autorelease是一个不精确的引用计数器减1,当给对象发送autorelease消息时,对象就会被放到自动

python学习笔记(03):函数

默认参数值:   只有在行参表末尾的哪些参数可以有默认参数值,即 def func(a, b=5 )#有效的 def func( a=5,b )#无效的 关键参数: #!/usr/bin/python # Filename: func_key.py def func(a, b=5, c=10): print 'a is', a, 'and b is', b, 'and c is', c func(3, 7) func(25, c=24) func(c=50, a=100) #输出: $ pyth

黑马程序员-OC学习笔记之Foundation框架NSNumber、NSValue和NSDate

---------------------- IOS开发.Android培训.期待与您交流! ---------------------- 一.NSNumber 前几篇笔记中,小桥复习了Foundatio框架中的几个类,这三个是OC学习的尾声了. 小桥已经复习过OC数组类NSArray,也说过它只能存放OC的对象,对于基本的数据类型确无能为力,但是实际编程中经常要把基本的数据如int.float,结构体存放的OC数组中,怎么办?这里的NSNumber就有用了,它能够把基本数据类型包装成OC对象.

lua学习笔记(2)-常用调用

assert(loadstring("math.max(7,8,9)"))dofile("scripts/xxx.lua")math.floor()math.random()   math.random(10, 100)math.min(3,4,5) math.max(2,3,4)num = tonumber(str)str = tostring(num)len = string.len(str)str = string.sbu (str, start_positi

黑马程序员-OC学习笔记之NSString与NSMutableString

---------------------- IOS开发.Android培训.期待与您交流! ---------------------- 一.NSString与NSMutableString 相信大家对NSString类都不陌生,它是OC中提供的字符串类,它的对象中的字符串都是不可变的,而它的子类NSMutableString类的对象中的字符串就是可变的.什么是可变与不可变呢?二者的区别就是在已经创建的一个字符串对象中,在程序中能不能更改字符串,比如拼接新的字符串,可变的可以在原字符串中更改,

黑马程序员-OC学习笔记之Foundatio框架集合类

---------------------- IOS开发.Android培训.期待与您交流! ---------------------- 一.OC数组 OC数组是一个类,它也分不可变数组NSArray和可变数组NSMutableArray. 1?不可变数组的创建 // 创建一个不可变数组,元素为一个OC字符串对象 @"小桥" NSArray *array1 = [NSArray arrayWithObject:@"小桥"]; // 创建一个不可变数组,元素为多个O

程序员编程技术学习笔记——字符串包含

程序员编程技术学习笔记--字符串包含 1.题目描述 给定两个分别由字母组成的字符串A和字符串B,字符串B的长度比字符串A短.请问,如何最快地判断字符串B中所有字母是否都在字符串A里?为了简单起见,我们规定输入的字符串只包含大写英文字母,请实现函数boolStringContains(string &A, string &B) 比如,如果是下面两个字符串: String 1:ABCD String 2:BAD 答案是true,即String2里的字母在String1里也都有,或者说Strin