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. Python学习笔记(十二)—Python3中pip包管理工具的安装【转】

    本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...

  2. 教你如何挑选深度学习GPU【转】

    本文转载自:https://blog.csdn.net/qq_38906523/article/details/78730158 即将进入 2018 年,随着硬件的更新换代,越来越多的机器学习从业者又 ...

  3. Zoom Me FAQ

    Q: How to config custom shortcuts? A: Enter the preferences setting window from menu bar "Prefe ...

  4. openwrt下如何只编译linux内核

    答:make target/linux/install V=s (此操作也会将最终镜像打包好,V=s会输出日志) 拓展 清空内核: make target/linux/clean V=s 解压内核: ...

  5. JDK 中的监控与故障处理工具-03 (jstat)

    jstat : JVM statistics monitoring tool jstat 命令可以监控 JVM 虚拟机各种运行时状态信息, 包括 内存状态 ,垃圾回收 ,类的装载等信息. jstat ...

  6. AD 域中给AD 用加登录本地计算的权限

    说明:一般新添加的AD 用户没有登录计算机电脑的权限,如果需要添加登录权限. 步骤:1.打开Active Directory 用户和计算机 步骤:2.打开某个用户 步骤3; 如下图.

  7. PyTorch源码解读之torchvision.models(转)

    原文地址:https://blog.csdn.net/u014380165/article/details/79119664 PyTorch框架中有一个非常重要且好用的包:torchvision,该包 ...

  8. springMVC注解的入门案例

    1.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=&qu ...

  9. jQuery编程规范与最佳实践(附带一些个人的笔记)

    加载jQuery-Loading jQuery 1.坚持使用CDN来加载jQuery,这种别人服务器免费帮你托管文件的便宜干嘛不占呢.点击查看使用CDN的好处,点此查看一些主流的jQuery CDN地 ...

  10. nodejs 备忘

    引入模块(在于你用什么模块,需要的模块可以用终端进行安装, npm,一般express,swig,body-parser,cookies,markdown) 设置模块 设置渲染 var express ...