Object-C中的字符串对象1-不可变字符串
#import <Foundation/Foundation.h> int main(int argc, const char * argv[])
{ @autoreleasepool { NSString *str1=@"this is string A";
NSString *str2=@"this is string B";
NSString *temp;
NSComparisonResult compareResult; //01.计算字符串中字符个数
NSLog(@"字符串长度:%@的长度为%lu",str1,[str1 length]); //02.将一个字符串复制到另一字符串
temp=[NSString stringWithString:str1];
NSLog(@"字符串复制:%@",temp); //03.将一个字符串复制到另一字符串末尾
temp=[str1 stringByAppendingString:str2];
NSLog(@"字符串拼接:%@",temp); //04.验证两个字符串是否相等
if([str1 isEqualToString:str2])
{
NSLog(@"字符串比较:%@与%@相同",str1,str2);
}
else
{
NSLog(@"字符串比较:%@与%@不相同",str1,str2);
} //05.验证一个字符串是否小于,等于或大于另一字符串
compareResult=[str1 compare:str2];
if(compareResult==NSOrderedAscending){NSLog(@"字符串比较:%@<%@",str1,str2);}
else if(compareResult==NSOrderedSame){NSLog(@"字符串比较:%@=%@",str1,str2);}
else{NSLog(@"字符串比较:%@>%@",str1,str2);} //06.将字符串转为大写
temp=[str1 uppercaseString];
NSLog(@"字符串大写:%@",temp); //07.将字符串转为小写
temp=[str1 lowercaseString];
NSLog(@"字符串小写:%@",temp); //08.从字符串中取前3个字符
temp=[str1 substringToIndex:3];
NSLog(@"字符串截取:%@",temp); //09.从字符串中截取第5个字符以后的字符
temp=[str1 substringFromIndex:5];
NSLog(@"字符串截取:%@",temp); //10.截取从索引5到索引13的子字符
temp=[[str1 substringFromIndex:5]substringToIndex:8];
NSLog(@"字符串截取:%@",temp); temp=[str1 substringWithRange:NSMakeRange(5, 8)];
NSLog(@"字符串截取:%@",temp); //11.从另一字符串查找一个字符串
NSString *subStr=@"string A";
NSRange subRange=[str1 rangeOfString:subStr];
NSLog(@"字符串查找:%@位于%@第:%lu个字符,长度为:%lu",subStr,str1,subRange. location,subRange .length); subRange=[str2 rangeOfString:subStr];
if(subRange.location==NSNotFound)
{
NSLog(@"字符串查找:%@中不存在%@",str2,subStr);
}
else
{
NSLog(@"字符串查找:%@中存在%@",str2,subStr);
} }
return 0;
}
输出结果:
2014-02-12 22:41:43.890 05.字符串[1560:303]字符串长度:this is string A的长度为16
2014-02-12 22:41:43.892 05.字符串[1560:303]字符串复制:this is string A
2014-02-12 22:41:43.892 05.字符串[1560:303]字符串拼接:this is string Athis is string B
2014-02-12 22:41:43.892 05.字符串[1560:303]字符串比较:this is string A与this
is string B不相同
2014-02-12 22:41:43.893 05.字符串[1560:303]字符串比较:this is string A<this is string B
2014-02-12 22:41:43.893 05.字符串[1560:303]字符串大写:THIS IS STRING A
2014-02-12 22:41:43.893 05.字符串[1560:303]字符串小写:this is string a
2014-02-12 22:41:43.893 05.字符串[1560:303]字符串截取:thi
2014-02-12 22:41:43.894 05.字符串[1560:303]字符串截取:is string A
2014-02-12 22:41:43.894 05.字符串[1560:303]字符串截取:is strin
2014-02-12 22:41:43.894 05.字符串[1560:303]字符串截取:is strin
2014-02-12 22:41:43.895 05.字符串[1560:303]字符串查找:string A位于this
is string A第:8个字符,长度为:8
2014-02-12 22:41:43.895 05.字符串[1560:303]字符串查找:this is string B中不存在string
A
Program ended with exit code: 0
Object-C中的字符串对象1-不可变字符串的更多相关文章
- 为什么字符串String是不可变字符串&&"".equals(str)与str.equals("")的区别
为什么字符串String是不可变字符串 实际上String类的实现是char类型的数组 虽然说源码中设置的是private final char[] value; final关键词表示不可变动 但是只 ...
- Java基础知识强化101:Java 中的 String对象真的不可变吗 ?
1. 什么是不可变对象? 众所周知, 在Java中, String类是不可变的.那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对 ...
- Python_字符串的映射与可变字符串的应用
''' maketrans().translate() maketrans()方法用来生成字符映射表,而translate()方法则按映射表中定义的对应关系转换并替换其中的字符,使用这两个方法的组合可 ...
- 关于Redis中的字符串对象
一.SDS redis中定义Object types有5种 /* Object types */ #define REDIS_STRING 0 #define REDIS_LIST 1 #define ...
- javascript中的字符串对象和数组对象
1.javascript的对象的概念 在javascript中,除了null和undefined以处,其他的数据类型都被定义成了对象 也可以用创建对象的方法定义变量,string,math,array ...
- javascript中的字符串对象
1.javascript的对象的概念 在javascript中,除了null和undefined以处,其他的数据类型都被定义成了对象 也可以用创建对象的方法定义变量,string,math,array ...
- JavaScript---网络编程(3)-Object、String、Array对象和prototype属性
本节学习JavaScript的对象和方法(函数)~ Object 对象 提供所有 JScript 对象通用的功能. obj = new Object([value]) 参数 obj 必选项.要赋值为 ...
- redis 系列10 字符串对象
一. 字符串对象编码 Redis中字符串可以存储3种类型,分别是字节串(byte string).整数.浮点数.在上章节中讲到字符串对象的编码可以是int, raw,embstr. 如果一个字符串对象 ...
- 关于String s = new String("xyz");创建了几个字符串对象?的问题
引用自这位朋友:http://blog.sina.com.cn/s/blog_6a6b14100100zn6r.html 首先让我们了解几个概念: 栈:由JVM分配区域,用于保存线程执行的动作和数据引 ...
- java中的string对象深入了解
这里来对Java中的String对象做一个稍微深入的了解. Java对象实现的演进 String对象是Java中使用最频繁的对象之一,所以Java开发者们也在不断地对String对象的实现进行优化,以 ...
随机推荐
- 对于矩阵的理解-- by 孟岩老师
“如果不熟悉线性代数的概念,要去学习自然科学,现在看来就和文盲差不多.” --瑞典数学家Lars Garding名著<Encounter with Mathematics>. 1. 矩阵的 ...
- whois协议
1.原理非常简单,域名的查询主要是基于RFC 954提供的WHOIS协议.在上述过程中,我们实际上是访问了InterNIC站点的WHOIS服务器,该服务器从WHOIS数据库中查询我们所需要的内容.WH ...
- web小流量实验方案
近期在思考怎么做小流量,在网上搜了一下,总结例如以下: 1.前提,站点pv已经达到了一定的规模,比方上百万pv,不做小流量冒然更新功能,可能会带来大面积流量损失.在这样的前提下须要做小流量实验 2.什 ...
- 学会了 Vim 还有必要用 GitHub Atom 或者 Sublime Text 么?
亦俊 ,90后,Vim 专栏作者 563 人赞同 Vim 知乎专栏:http://zhuanlan.zhihu.com/hack-vim 用过 [ Visual Studio 2015 ] [ Sub ...
- Ubuntu Server 13.10 安装配置图解教程
一.Ubuntu Server 13.10系统安装 Ubuntu分为桌面版(desktop)和服务器版(Server),下面为大家介绍服务器版本Ubuntu Server 13.10的详细安装过程. ...
- JSP学习笔记(四):文件上传
JSP 可以与 HTML form 标签一起使用,来允许用户上传文件到服务器.上传的文件可以是文本文件或图像文件或任何文档.我们使用 Servlet 来处理文件上传,使用到的文件有: upload.j ...
- [Functional Programming] Async IO Functor
We will see a peculiar example of a pure function. This function contained a side-effect, but we dub ...
- [AngularJS] Angular 1.3: ng-model-options updateOn, debounce
<!DOCTYPE html> <html ng-app="app"> <head lang="en" > <meta ...
- Was liberty资料总结
WebSphere Application Server Liberty Profile Guide for Developers: http://www.redbooks.ibm.com/redbo ...
- 推荐9款使用CSS3实现的超酷动画效果
大家都知道,在网页制作时使用CSS技术,可以有效地对页面的布局.字体.颜色.背景和其它效果实现更加精确的控制.只要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,或者页数不同的网页的外观和 ...