1.NSString对象的创建

// 1.创建不可变字符串

NSString *str1 = @"create string";

#pragma mark 对象方法创建字符串

// 2.用另一个字符串初始当前字符串,指针所指地址相同

NSString *str2 = [[NSString alloc] initWithString:str1];

// 3.将其他的数据类型转化为字符串类型

NSString *str3 = [[NSString alloc] initWithFormat:@"Age is %d, Name is %@", 24, @"nick"];

#pragma mark 类方法创建字符串

// 4.该方法与initWithString方法对应

NSString *str4 = [NSString stringWithString:str1];

// 5.该方法与initWithFormat方法对应

NSString *str5 = [NSString stringWithFormat:@"Age is %d, Name is %@", 24, @"nick"];

NSLog(@"log-str1=%@-str2=%@-str3=%@-str4=%@-str5=%@",str1,str2,str3,str4,str5);

2.字符串的拼接

NSString *string1 = @"shang";

NSString *string2 = @"hai";

//- (NSString *)stringByAppendingString:(NSString *)aString;

//作用:将两个字符串进行拼接

//两个拼接的字符串都没有变,返回值是拼接后的字符串

NSString *string3 = [string1 stringByAppendingString:string2];

NSString *string4 = [NSString stringWithFormat:@"%@%@", string1, string2];

3.计算字符串的长度

  NSString *string = @"shang-hai nice";

NSUInteger lenth = [string length];

NSLog(@"%zd",lenth);

4.取出字符串中对应位置的引用

  NSString *string = @"zhou dong yu";

NSUInteger position = 1;

char character = [string characterAtIndex:position];

NSLog(@"%c",character);

5.在字符串中查找子串的位置

  NSString *string1 = @"shang hai dong fang ming zhu";

NSString *string2 = @"ming";

//- (NSRange)rangeOfString:(NSString *)aString;

//作用:在一个字符串中查找子串的位置

//typedef struct _NSRange {

//    NSUInteger location;  起始位置

//    NSUInteger length;    从起始位置开始的长度

//} NSRange;

NSRange range = [string1 rangeOfString:string2];

if (range.location == NSNotFound) {

NSLog(@"没有找到");

}

NSLog(@"location is %lu, length is %lu", range.location, range.length);

6.字符串的比较

NSString *string1 = @"chen chao";

NSString *string2 = @"CHAN CHAO";

#if 0

//- (BOOL)isEqualToString:(NSString *)aString;

//作用:比较两个字符串是否完全相同

//BOOL:YES(真), NO(假)

BOOL bl = [string1 isEqualToString:string2];

if (bl) {

NSLog(@"string1 == string2");

} else{

NSLog(@"string1 != string2");

}

#endif

#if 0

//- (NSComparisonResult)compare:(NSNumber *)decimalNumber;

//作用:比较两个字符串是否相同(不忽略大小写)

//NSComparisonResult:NSOrderedAscending(升序)

//                   NSOrderedSame(相同)

//                   NSOrderedDescending(降序)

NSComparisonResult result = [string1 compare:string2];

if (result == NSOrderedDescending) {

NSLog(@"string1 < string2");

} else if (result == NSOrderedAscending) {

NSLog(@"string1 > string2");

} else {

NSLog(@"string1 == string2");

}

#endif

//- (NSComparisonResult)caseInsensitiveCompare:(NSString *)string;

//作用:比较两个字符串是否相同(忽略大小写)

NSComparisonResult result = [string1 caseInsensitiveCompare:string2];

if (result == NSOrderedDescending) {

NSLog(@"string1 < string2");

} else if (result == NSOrderedAscending) {

NSLog(@"string1 > string2");

} else {

NSLog(@"string1 == string2");

}

iOS NSString相关问题的更多相关文章

  1. iOS网络相关知识总结

    iOS网络相关知识总结 1.关于请求NSURLRequest? 我们经常讲的GET/POST/PUT等请求是指我们要向服务器发出的NSMutableURLRequest的类型; 我们可以设置Reque ...

  2. iOS网络相关零散知识总结

    iOS网络相关零散知识总结 1. URL和HTTP知识 (1) URL的全称是Uniform Resource Locator(统一资源定位符). URL的基本格式 = 协议://主机地址/路径   ...

  3. iOS开发经验相关知识

    一. iPhone Size 手机型号 屏幕尺寸 iPhone 4 4s 320 * 480 iPhone 5 5s 320 * 568 iPhone 6 6s 375 * 667 iphone 6 ...

  4. iOS app 支持HTTPS iOS开发者相关

    2016年12月21日更新开发者中心链接https://developer.apple.com/news/?id=12212016b该链接是苹果昨天刚在官网给的正式回复 如下: App Transpo ...

  5. iOS通讯录相关知识-浅析

    本文来自于:贞娃儿的博客  http://blog.sina.com.cn/zhenwawaer  在开发一些应用中,我们如果需要iPhone设备中的通讯录信息.或者,需要开发通讯录相关的一些功能.那 ...

  6. NSString相关操作

    //创建一个字符串对象 NSString * str_1 = @"Hello"; //字面量方法 ; NSString * str_2 = [NSString stringWith ...

  7. iOS,视图相关

    1.移除视图的所以子视图 2.自定义视图(UIView) 3.处理悬浮窗口(类似微信视频),等比缩放 4.自定义前面视图(可以手写字) 5.图片拉伸的几种方式,计算文本占用空间大小 6.UILable ...

  8. 一文让你彻底了解iOS字体相关知识

    写本文的契机主要是把自己整理的关于iOS字体方面的知识不断更新写在这篇博文中,用来自己以后查阅. 一.iOS原生字体展示 在label中选择字体的font,并把font由system改成custom后 ...

  9. iOS - 直播相关文章

    直播相关文章 直播RTMP可用于测试的服务器地址 FFmpeg avdumpformat输出的tbn.tbc.tbr.PAR.DAR的含义 FFmpeg 3.0 计算视频时长 HLS Streamin ...

随机推荐

  1. Bellman-Ford FORMCM

    Bellman-Ford date: 2018/2/2 author:pprp theme:Dijstra 简介 单源最短路问题 要求: 图中不能出现负圈 思路: Bellman-Ford算法就是遍历 ...

  2. Android开发-ADT Bundle安装

    此次安装是在Android Studio的机器上.安装Eclipse是因为目前很多Android程序是Eclipse开发的,要想快速看到运行效果就是安装Eclipse. 1.所有的资源都在:http: ...

  3. codeforces208E Blood Cousins

    题目链接:codeforces208E 正解:$dsu$ $on$ $tree$ 解题报告: 又是一波$dsu$ $on$ $tree$咯… $p$级$cousin$其实就是对于$x$的$p$级祖先统 ...

  4. 淘汰算法 LRU、LFU和FIFO

    含义: FIFO:First In First Out,先进先出LRU:Least Recently Used,最近最少使用 LFU:Least Frequently Used,最不经常使用 以上三者 ...

  5. ubuntu14.04安装hadoop2.6.0(伪分布模式)

    版本:虚拟机下安装的ubuntu14.04(64位),hadoop-2.6.0 下面是hadoop2.6.0的官方英文教程: http://hadoop.apache.org/docs/r2.6.0/ ...

  6. MVVM中轻松实现Command绑定任意事件的Command

    下面是“银光中国”(不错的WPF或SL网站)WPF学习教程中的一个连接, http://www.silverlightchina.net/html/study/WPF/2011/0715/9034.h ...

  7. Python连接SQLite数据库代码

    import sqlite3 # create database conn = sqlite3.connect('test.db') #不存在就创建后再打开 print ("Opened d ...

  8. 设计模式--备忘录模式C++实现

    备忘录模式C++实现 1定义Memento pattern 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可以将该对象恢复到原先的状态 2类图 3实现 clas ...

  9. 【Demo】CSS3 动画

    CSS3 动画(@keyframes,animation) CSS3 @keyframes 规则 要创建CSS3动画,你将不得不了解@keyframes规则. @keyframes规则是创建动画. @ ...

  10. C# 获取命名空间对应的程序集位置

    由于同名命名空间会被多个程序集使用,C#没有提供直接的方法(对象浏览器也不行)通过命名空间获得程序集位置,这样就不方便找到那些引用文件时什么. 那么可以在立即窗口,中断某个代码的时候,去查询类所在程序 ...