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 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

时间: 2014-02-12

Object-C中的字符串对象1-不可变字符串的相关文章

Object-C中的字符串对象2-可变字符串

// // main.m // 字符串-可变字符串 // // Created by zhangqs008 on 14-2-13. // Copyright (c) 2014年 zhangqs008. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSString *str1=@"this is

在SQL中调用COM对象

对象 在SQLSERVER中创建 OLE 对象实例,有时我们想到数据库中执行存储过程的时候,同时调用系统中的COM对象.此时我们可以采用SQL的系统存储过程sp_OACreate ,此存储过程的调用要有一定的权限,只有 sysadmin 固定服务器角色的成员才能执行 sp_OACreate. 语法sp_OACreate progid, | clsid,    objecttoken OUTPUT    [ , context ] 参数progid 是要创建的 OLE 对象的程序标识符 (Prog

在ASP中利用“正则表达式” 对象实现UBB风格的论坛

ubb|对象|正则 上一次,我们谈到在ASP中如何利用"正则表达式"对象来实现各种数据的校验,文中描述了正则表达式对象的强大功能,接下来,我们来看看有关"正则表达式"对象的其他功能.当我们在网上冲浪的时候,尤其是浏览各类论坛的时候,经常会见到"UBB代码"这个词语.什么是UBB代码呢?UBB代码是HTML的一个变种http://www.alixixi.com/program/a/,是Ultimate Bulletin Board (国外一个BBS

ASP中利用“正则表达式” 对象实现UBB代码

ubb|对象|正则 上一次,我们谈到在ASP中如何利用"正则表达式"对象来实现各种数据的校验,文中描述了正则表达式对象的强大功能,接下来,我们来看看有关"正则表达式"对象的其他功能.当我们在网上冲浪的时候,尤其是浏览各类论坛的时候,经常会见到"UBB代码"这个词语.什么是UBB代码呢?UBB代码是HTML的一个变种http://www.alixixi.com/program/a/,是Ultimate Bulletin Board (国外一个BBS

在ASP中利用正则表达式 对象实现UBB风格的论坛(转)

ubb|对象|正则 在ASP中利用"正则表达式" 对象实现UBB风格的论坛     转贴者语:无意中在中华网发现了此文,说的就是本站论坛的UBB风格的实现原理,所以贴出来和大家一起分享. 我们谈到在ASP中如何利用"正则表达式"对象来实现各种数据的校验,文中描述了正则表达式对象的强大功能,接下来,我们来看看有关"正则表达式"对象的其他功能.当我们在网上冲浪的时候,尤其是浏览各类论坛的时候,经常会见到"UBB代码"这个词语.什么

在JavaScript中创建新对象

使用JavaScript可以创建自己的对象.虽然JavaScript内部和浏览器本身的功能已十分强大,但JavaScript还是提供了创建一个新对象的方法.使其不必像超文本标识语言那样,求于或其它多媒体工具,就能完成许多复杂的工作. 在JavaScript中创建一个新的对象是十分简单的.首先它必须定义一个对象,而后再为该对象创建一个实例.这个实例就是一个新对象,它具有对象定义中的基本特征. 一.对象的定义 JavaScript对象的定义,其基本格式如下: Function Object(属性表)

strut2-Struts2 如何发送参数中带有list对象的请求

问题描述 Struts2 如何发送参数中带有list对象的请求 状态描述: 需要从SSH环境中发送一个POST请求到网络上的某个获取数据的URL,但是此Url的post请求中有一个对象Object1,object1包含两个List的对象,我从网络上查了很多发送post请求的数据,但是根本无法找到如何在请求中加入list的,当时我想是不是可以用url?param=object1.list.get(0).param = value来进行传递,但是没成功. 我知道在PHP中有的POST请求封装的非常顶

对Object类中方法的深入理解

看一下API中关于Object的介绍: 类 Object 是类层次结构的根类.每个类都使用 Object 作为超类. 所有对象(包括数组)都实现这个类的方法. 那么Object中到底有哪些方法,各自有什么应用呢? 这个问题也经常出现在面试中,如果平时没有关注,可能很难回答好,这里简单整理一下. 首先看一下java.lang.Object的源码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 2

在C++中与QML对象交互

简述 所有的 QML 对象类型 - 无论由引擎内部实现还是由第三方源定义,都是 QObject 派生的类型.这意味着,QML 引擎可以使用 Qt 元对象系统动态实例化任何 QML 对象类型并检查创建的对象. 这对于在 C++ 中创建 QML 对象非常有用,无论是显示一个可视化呈现的 QML 对象,还是将非可视 QML 对象数据集成到 C++ 应用程序中.一旦 QML 对象被创建,就可以从 C++ 中检查它,以便读取和写入属性.调用方法.以及接收信号通知. 简述 从 C 加载 QML 对象 根据

Xcode中修改变量名、类名及字符串的替换操作

Xcode中修改变量名.类名及字符串的替换操作         在做iOS开发代码优化的工作时,优化代码结构之前,我们应该先整理好工程的外貌,将文件和类的命名进行规范,在Xcode中为我们提供了方便而强大的名称修改功能. 第一步:修改类名         将鼠标点击放在类的名称上,选择Xcode工具栏中的edit->refactor->rename: 之后,将类名更改为我们需要的模式点击preview,记得将下面的关联文件勾选: Xcode会为我们检测出需要更改的地方,浏览无误后点击save.