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对象的实现进行优化,以 ...
随机推荐
- Redis 3.0版本启动时出现警告的解决办法
原文:http://m.blog.csdn.net/article/details?id=50864933 Redis 3.0.7版本启动时出现警告的解决办法 发表于2016/3/12 12:52:4 ...
- Ext树形结构
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- pytest文档3-pycharm运行pytest
前言 上一篇pytest文档2-用例运行规则已经介绍了如何在cmd执行pytest用例,平常我们写代码在pycharm比较多 写完用例之后,需要调试看看,是不是能正常运行,如果每次跑去cmd执行,太麻 ...
- Appium+python自动化21-DesiredCapabilities详解
Appium Desired Capabilities Desired Capabilities 是由 keys 和 values 组成的 JSON 对象. 举个简单例子: { "platf ...
- Linux进程间通信—套接字
六.套接字(socket) socket也是一种进程间的通信机制,不过它与其他通信方式主要的区别是:它可以实现不同主机间的进程通信.一个套接口可以看做是进程间通信的端点(endpoint),每个套接口 ...
- OpenCV Harris 角点检测子
Harris 角点检测子 目标 本教程中我们将涉及: 有哪些特征?它们有什么用? 使用函数 cornerHarris 通过 Harris-Stephens方法检测角点. 理论 有哪些特征? 在计算机视 ...
- HTML:几个常见的列表标签
介绍: 在网页中列表是很常见的标签,主要分为有序标签.无序标签.列表嵌套.定义标签 有序标签:<ol><li></li><ol> 无序标签:<ul ...
- Windows2003 Webshell默认权限
0×00 前言 0×01 Windows2003默认配置 0×02 Windows2003典型配置的权限 0×03 cmd运行的条件 0×00 前言 这一章主要讲解关于我们刚拿到webshell的 ...
- 转:mac下安装homebrew
见: http://brew.sh 在命令行打开:
- Python网络爬虫 - 3. 异常处理
handle_excpetion.py from urllib.request import urlopen from urllib.error import HTTPError from bs4 i ...