OC字符串常用函数

简介: 创建一个字符串对象: NSstring * str1 = @"hello"; NSString * str = [[NSString alloc]initWithString:@"hello world!"]; NSString * str_1 = [[NSString alloc]...

 

创建一个字符串对象:

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"];

 

字符串转化:

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)

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个字符替换为指定的字符串

 

 

img_e00999465d1c2c1b02df587a3ec9c13d.jpg
微信公众号: 猿人谷
如果您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】
如果您希望与我交流互动,欢迎关注微信公众号
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

目录
相关文章
|
5月前
字符串\字符串处理常用函数
字符串\字符串处理常用函数
34 2
|
6月前
02-python的基础语法-标识符/运算符/字符串拓展/字符串的拼接/字符串格式化/字符串精度控制/字符串格式化方式2/对表达式进行格式化/练习题/数据输入-input语句
02-python的基础语法-标识符/运算符/字符串拓展/字符串的拼接/字符串格式化/字符串精度控制/字符串格式化方式2/对表达式进行格式化/练习题/数据输入-input语句
|
6月前
|
C语言 C++
C语言是如何打印字符串 注释 占位符详解
C语言是如何打印字符串 注释 占位符详解
|
存储 Oracle Java
【JavaSE语法】数据类型与变量
【JavaSE语法】数据类型与变量
47 0
|
存储 机器学习/深度学习 Java
【JavaSE语法】运算符
【JavaSE语法】运算符
78 0
|
存储 Java 编译器
基本语法、数据类型与运算符【JavaSE】
基本语法、数据类型与运算符【JavaSE】
33 0
|
移动开发 Python Windows
超详细的字符串用法大全
超详细的字符串用法大全
python_正则表达式中在模板字符串前加r怎么理解
python_正则表达式中在模板字符串前加r怎么理解
565 0
python_正则表达式中在模板字符串前加r怎么理解
|
索引 Python
Python基础-字符串(字符串常用函数/操作/字符串遍历)
字符串就是一串字符, 表示文本类型的数据, 可以用"一对双引号"或者'一对单引号'定义一个字符串, 字符串定义格式为 字符串变量名 = '字符串的文本内容'
127 0
Python基础-字符串(字符串常用函数/操作/字符串遍历)
OC-字符串.数组.字典.集合
OC-字符串.数组.字典.集合
121 0