oc基础  不可变字符串的创建和使用

简介:下面都是字符串基本用法。

1.字符串的创建

//创建oc常量字符串NSString *str=@"hello world!";NSLog(@"%@",str);//用c语言的字符串来创建oc的字符串char *ch="hello world C";NSString *str2=[[NSString alloc] initWithUTF8String:ch];NSLog(@"%@",str2);//用格式化来创建字符串int a=10;NSString *str3=[[NSString alloc] initWithFormat:@"%@ %d",str2,a];NSLog(@"%@",str3);//用类方法来创建字符串NSString *str4=[NSString stringWithFormat:@"%@%@",str2,str];NSString *str5=[NSString stringWithUTF8String:ch];NSLog(@"%@ , %@",str4,str5);//读取文件来创建字符串NSString *path=@"/Users/qf/Desktop/my2/Car.h";NSError *error;NSString *str6=[[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];NSLog(@"%@",str6);

2.字符串的使用

(1)判断两个字符串是否相等和比较大小(区分大小写)

        NSString *str1=@"hello world";NSString *str2=@"Hello world";if([str1 isEqualToString:str2]){NSLog(@"yes");}else{NSLog(@"no");}if ([str1 compare:str2]==-1) {NSLog(@"str1<str2");}else if ([str1 compare:str2]==0){NSLog(@"str1==str2");}else{NSLog(@"str1>str2");}

(2)判断比较大小(不区分大小写)

        //不区分大小写if ([str1 caseInsensitiveCompare:str2]==-1) {NSLog(@"str1<str2");}else if ([str1 caseInsensitiveCompare:str2]==0){NSLog(@"str1==str2");}else{NSLog(@"str1>str2");}

(3)大小写转换

        //转大写NSString *str3=[str1 uppercaseString];NSLog(@"%@",str3);//转小写NSString *str4=[str2 lowercaseString];NSLog(@"%@",str4);//首字母大写,其他变小写NSString *str5=[str2 capitalizedString];NSLog(@"%@",str5);

(4)搜索字符

        //查找是否包含NSString *str6=@"I love huang xiao dan.";NSString *str7=@"love";NSRange range=[str6 rangeOfString:str7];NSLog(@"%d,%d",range.location,range.length);if (range.location==NSNotFound) {NSLog(@"没找到");}else{NSLog(@"找到了");}//查找某个位置的字符char c=[str6 characterAtIndex:7];NSLog(@"%c",c);

(5)字符截取

        //从位置0开始,截取到指定的位置,开区间NSString *str8=[ str6 substringToIndex:6];NSLog(@"%@",str8);//从指定的位置开始,一直截取到字符串的末尾,闭区间NSString *str9=[str6 substringFromIndex:6];NSLog(@"%@",str9);//截取指定范围的字符串NSRange range1=NSMakeRange(3, 5);NSString *str10=[str6 substringWithRange:range1];NSLog(@"%@",str10);

(6)判断以字符串开头或结尾

         //判断字符串是否以“I”开头if([str6 hasPrefix:@"I"]){NSLog(@"yes");}else{NSLog(@"no");}//判断字符串是否以“dan”结尾if([str6 hasSuffix:@"dan"]){NSLog(@"yes");}else{NSLog(@"no");}

(7)字符串转数字类型

        NSString *str11=@"10";NSLog(@"%d",[str11 intValue]);    //转其他数字类型类似

(8)字符串替换

        NSString *str12=@"I am a good student.";NSString *str13=[str12 stringByReplacingCharactersInRange:NSMakeRange(2, 3) withString:@"asjhja"];NSLog(@"%@",str13);    

(9)字符串的分割和组合

        //单个字符分割NSArray *array=[str12 componentsSeparatedByString:@" "];NSLog(@"%@",array);//字符集进行分割NSString *str14=@"I like a cat,and!dn sa!";NSCharacterSet *set=[NSCharacterSet characterSetWithCharactersInString:@" , !"];NSArray *array2=[str14 componentsSeparatedByCharactersInSet:set];NSLog(@"%@",array2);//字符组合NSString *str15=[array2 componentsJoinedByString:@"!"];NSLog(@"%@",str15);

转载于:https://www.cnblogs.com/DWdan/p/4395616.html

oc基础 不可变字符串的创建和使用相关推荐

  1. OC基础第四讲--字符串、数组、字典、集合的常用方法

    OC基础第四讲--字符串.数组.字典.集合的常用方法 字符串.数组.字典.集合有可变和不可变之分.以字符串为例,不可变字符串本身值不能改变,必须要用相应类型来接收返回值:而可变字符串调用相应地方法后, ...

  2. OC不可变字符串和可变字符串(1)

    在OC中,字符串有:不可变字符串(NSString).可变字符串(NSMutableString). 可变字符串的方法继承于不可变字符串. 可变字符串 1.初始化一个字符串对象(除以下方法外,还可以使 ...

  3. oc总结 --oc基础语法相关知识

    m是OC源文件扩展名,入口点也是main函数,第一个OC程序: #import <Foundation/Foundation.h> int main(int argc, const cha ...

  4. Objective-C学习笔记2013[NSString]字符串[可变字符串中,加用app减用delete]

    Objective-C学习笔记 小常识: NS是Cocoa类对象类型的前缀,来源于史蒂夫-乔布斯被苹果开除那段时间建立的公司NeXT. @是Cocoa元素的前缀,很多地方我们会看到,比如接下来... ...

  5. OC基础15:内存管理和自动引用计数

    "OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.什么是ARC? (1).ARC全名为A ...

  6. Java基础知识(五) 字符串与数组

    Java基础知识 字符串与数组 1. 字符串的创建与存储的机制是什么 2. "==".equals和hashCode有什么区别 3. String.StringBuffer.Str ...

  7. IOS学习---OC基础学习(Foundation)

    Foundation框架: 包含许多常见的数据类型 是其他所有Ios框架的基础结构体: NSRange: 范围:成员变量有location(位置).length(长度) @"i love o ...

  8. Python_基础语法_字符串基本操作__声明方式_占位符_切片_转义字符_加密解密(6)

    目录: 一.字符串介绍 1.字符的渲染 2.字符的编码 3.不可变类型 二.字符串的基本操作 1.字符串声明 2.字符串占位符号 3.字符串索引切片(包含练习) 4.字符串转义 三.字符串的高级操作 ...

  9. iOS开发面试知识整理 – OC基础 (二)

    iOS | 面试知识整理 – OC基础 (二) 1.C和 OC 如何混编 xcode可以识别一下几种扩展名文件: .m文件,可以编写 OC语言 和 C 语言代码 .cpp: 只能识别C++ 或者C语言 ...

最新文章

  1. 如何用纯 CSS 创作一个摇摇晃晃的 loader
  2. 深度学习核心技术精讲100篇(五十五)- 基于OpenCV实现棋盘图像识别
  3. 在asp中怎么调用带输出参数的存储过程
  4. salt stack 工具之一——远程命令
  5. GridView列值绑定
  6. arc.archives.class.php关于分页错位怎么修改,解决织梦分页错位的办法
  7. Net4.0的网站在IE10、IE11出现“__doPostBack未定义”的解决办法。
  8. 【转】WPF从我炫系列3---内容控件的用法
  9. QT学习笔记(十四):QLayout的属性介绍
  10. python两个中文队列比较_具有两个优先级的优先级队列Python
  11. MySQL数据库(九) 一一 处理重复和SQL注入
  12. CSS中背景图片的坐标之使用说明及css中把所有背景图都放在一张图片上减少图片服务器的请求次数问题(转)...
  13. lnmp升级PHP环境
  14. 直流电机正反转驱动电路
  15. P2184 贪婪大陆(线段树)
  16. ForeSpider数据采集软件之链接抽取
  17. 关于TensorFlow使用GPU加速
  18. LeetCode - Pascal's Trangle
  19. 数值卡,让数据可视化玩出新花样丨三叠云
  20. CorelDRAW X7导出pdf发现部分有白边如何处理

热门文章

  1. mysql数据库用doc命令,myMySQL数据库怎么使用dos命令安装? MySQL数据库使用教程
  2. c语言txt操作,C语言文件操作总结
  3. App测试中ios和Android的区别1
  4. 牛津词典 2018 年度词汇 ——「有毒」!
  5. Flutter获取assets中的图像
  6. iOS 代码触发button点击事件
  7. node.js学习之路(1)
  8. AVD Manager
  9. mybatis(二)
  10. 引领Boost(二)(Boost::Any)