OC字符串常用函数
2024-08-21 22:30:29
创建一个字符串对象:
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个字符替换为指定的字符串
最新文章
- svn 合并分支
- 查询sqlserver 正在执行的sql语句的详细信息
- Chrome谷歌浏览器首页被改为Hao123导航怎么办|附各类解决方法【转】
- Mybatis学习记录(八)----Mybatis整合Spring
- vitualbox 主机与虚拟机能相互访问的设置
- 【Unity3D游戏开发】性能优化之缩减打包压缩包大小 (二八)
- java 哪些情况下会使对象锁释放
- hdu 5000 Clone
- 乱序双发射 和 GHB的分支预测
- treeview递归
- JUnit使用参数测试和一组测试
- 基于c#+xaml的前台采用IE的js引擎写后台
- kindle网络爬虫续集
- System services not available to Activities before onCreate()
- 部署Replica Sets及查看相关配置
- gdb cheat sheet
- html获取输入框的值
- Python自学知识点----Day03
- Today
- madlib centos yum 包安装
热门文章
- dede数据库文件导入失败的可能原因是数据表前缀不同,这里的失败指的是mysql添加了数据,但后台不显示
- Visual Studio 调试技巧
- ORA-27101:shared memory realm does not exist的问题
- 转:java日志组件介绍(common-logging,log4j,slf4j,logback )
- 每日学习心得:SQL查询表的行列转换/小计/统计(with rollup,with cube,pivot解析)
- Debian环境下vi设置
- c#(winform)中ComboBox添加Key/Value项、获取选中项、根据Key
- asp.net get App_Data 目录几种方法 path
- bzoj4561: [JLoi2016]圆的异或并
- C++设计新思维的traits和policy