#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 Athis
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-不可变字符串的更多相关文章

  1. 为什么字符串String是不可变字符串&&"".equals(str)与str.equals("")的区别

    为什么字符串String是不可变字符串 实际上String类的实现是char类型的数组 虽然说源码中设置的是private final char[] value; final关键词表示不可变动 但是只 ...

  2. Java基础知识强化101:Java 中的 String对象真的不可变吗 ?

    1. 什么是不可变对象?       众所周知, 在Java中, String类是不可变的.那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对 ...

  3. Python_字符串的映射与可变字符串的应用

    ''' maketrans().translate() maketrans()方法用来生成字符映射表,而translate()方法则按映射表中定义的对应关系转换并替换其中的字符,使用这两个方法的组合可 ...

  4. 关于Redis中的字符串对象

    一.SDS redis中定义Object types有5种 /* Object types */ #define REDIS_STRING 0 #define REDIS_LIST 1 #define ...

  5. javascript中的字符串对象和数组对象

    1.javascript的对象的概念 在javascript中,除了null和undefined以处,其他的数据类型都被定义成了对象 也可以用创建对象的方法定义变量,string,math,array ...

  6. javascript中的字符串对象

    1.javascript的对象的概念 在javascript中,除了null和undefined以处,其他的数据类型都被定义成了对象 也可以用创建对象的方法定义变量,string,math,array ...

  7. JavaScript---网络编程(3)-Object、String、Array对象和prototype属性

    本节学习JavaScript的对象和方法(函数)~ Object 对象 提供所有 JScript 对象通用的功能. obj = new Object([value]) 参数 obj 必选项.要赋值为 ...

  8. redis 系列10 字符串对象

    一. 字符串对象编码 Redis中字符串可以存储3种类型,分别是字节串(byte string).整数.浮点数.在上章节中讲到字符串对象的编码可以是int, raw,embstr. 如果一个字符串对象 ...

  9. 关于String s = new String("xyz");创建了几个字符串对象?的问题

    引用自这位朋友:http://blog.sina.com.cn/s/blog_6a6b14100100zn6r.html 首先让我们了解几个概念: 栈:由JVM分配区域,用于保存线程执行的动作和数据引 ...

  10. java中的string对象深入了解

    这里来对Java中的String对象做一个稍微深入的了解. Java对象实现的演进 String对象是Java中使用最频繁的对象之一,所以Java开发者们也在不断地对String对象的实现进行优化,以 ...

随机推荐

  1. 设置启用mysql慢查询日志

    --设置log文件位置 set global slow_query_log_file = /sql_log/slow_log.log; --设置是否启用记录没有使用索引的sql set global ...

  2. 最大的Redis集群:新浪Redis集群揭秘

    前言 Tape is Dead,Disk is Tape,Flash is Disk,RAM Locality is King.       — Jim Gray Redis不是比较成熟的Memcac ...

  3. BigDecimal 执行精确小数计算

    来考虑这样一种情况,先来看代码: public class Test { public static void main(String[] args) { System.out.println(0.4 ...

  4. iOS: 如何获取ios设备的当前IP地址

    有的时候,我们项目上线后,需要根据ip地址去统计不同地区的用户情况,此时IP地址的收取显得尤其重要,一般情况下,在用户登录时去获取用户的ip是准确的,当然实时追踪ip的变化而统计是更安全可靠的. ip ...

  5. 使用javascript比较任意两个日期相差天数(代码)

    avascript比较两个日期相差天数,可返回负值,表示后者大于前者. 该函数在IE,firefox下均通过测试. /** 比较两个日期相差的天数,可为负值 **/ function DateDiff ...

  6. 【翻译自mos文章】在一次失败的 &#39;Shutdown Immediate&#39;之后,数据库job 不能执行。

    在一次失败的 'Shutdown Immediate'之后.数据库job 不能执行. 參考原文: Database Jobs Do Not Run After a Failed 'Shutdown I ...

  7. 【Linux】shell中svn报错:svn: Can't convert string from 'UTF-8' to native encoding:xxx

    解决办法: shell中svn命令之前添加: #!/bin/bash export LC_ALL=en_US.UTF- export LANG=en_US.UTF- export LANGUAGE=e ...

  8. JSP2.0自定义标签

    JSP1.0中可以通过继承TagSupport或者BodyTagSupport来实现自定义的tag处理方法. JSP2.0中也支持另外一种更为简单的自定tag的方法,那就是直接讲JSP代码保存成*.t ...

  9. 再谈Cognos报表设计中的维度函数

    在报表设计的过程中,客户很多时候会想看同比.环比的数据,很多人会想到利用日期函数在数据库中处理好然后直接在报表拖出来使用,其实这样加大了数据库的压力,当然也是解决问题的一种思路.今天我们就来说一下如何 ...

  10. [Transducer] Step by Step to build a simple transducer

    Transducers are composable algorithmic transformations. They are independent from the context of the ...