博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OC字符串常用函数
阅读量:6090 次
发布时间:2019-06-20

本文共 2865 字,大约阅读时间需要 9 分钟。

创建一个字符串对象:

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

 

字符串转化:

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

 

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

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

 

转载于:https://www.cnblogs.com/shuxiachahu123/p/4915526.html

你可能感兴趣的文章
DIRECTSHOW在VS2005中PVOID64问题和配置问题
查看>>
MapReduce的模式,算法以及用例
查看>>
《Advanced Linux Programming》读书笔记(1)
查看>>
zabbix agent item
查看>>
一步一步学习SignalR进行实时通信_7_非代理
查看>>
字符设备与块设备的区别
查看>>
为什么我弃用GNOME转向KDE(2)
查看>>
Redis学习记录初篇
查看>>
爬虫案例若干-爬取CSDN博文,糗事百科段子以及淘宝的图片
查看>>
Web实时通信技术
查看>>
第三章 计算机及服务器硬件组成结合企业运维场景 总结
查看>>
IntelliJ IDEA解决Tomcal启动报错
查看>>
默认虚拟主机设置
查看>>
php中的短标签 太坑人了
查看>>
[译] 可维护的 ETL:使管道更容易支持和扩展的技巧
查看>>
### 继承 ###
查看>>
数组扩展方法之求和
查看>>
astah-professional-7_2_0安装
查看>>
函数是对象-有属性有方法
查看>>
uva 10107 - What is the Median?
查看>>