NSString是oc语言Foundation框架中常用的类,我根据每个方法的功能将NSString的常用方法分为创建字符串、初始化字符串、判断和比较字符串、大写和小写相互转化、字符串的截取、类型转换等功能。它的方法按功能分如图所示(具体每个方法的作用我在后后面有详细的备注,其实根据驼峰命令也基本可以看出每个方法的作用),有些方法带参数,有些不带参数,方法的使用都很容易,在Xcode下编程时会自动匹配:
 
 
 
1⃣️创建字符串:

1 string:创建一个空字符串

2 stringWithstring:用字符串来创建字符串
3 stringWithFormat:创建NSLog格式的字符串
 
2⃣️初始化字符串:
1 init:创建空字符串并对其初始化
2 initWithString:用字符串来初始化字符串
3 initWithFormat:用NSLog格式来格式化字符串
 
3⃣️字符串判断和比较:
1 isEqualTostring:比较字符串是否相等
2 hasPrefix:判断字符串是否以某个字符开始
3 hasSuffix:判断字符串是否以某个字符结束
4 compare:比较字符串的大小
5 caseInsensitiveCompare:不考虑大小写的比较
 
4⃣️字符串大小写转换
1 upperCaseString:小写字母转换为大写字母
2 lowerCaseString:大写字母转换为小写字母
3 capitalizedString:将每个单词的首字母大写
 
5⃣️截取:
1 substringToIndex:从字符串的开头一直截取到指定位置
2 substringFromIndex:从指定位置开始一直截取到字符串结束
3 substringWithRange:根据指定范围返回子字符串
4 characterAtIndex:返回索引号指向的字符串中的字符
 
6⃣️转换类型:
1 doubleValue/floatValue:返回转换为浮点类型的值
2 intValue:返回转换为整形的值
3 boolValue:返回转换为布尔型的值
 
7⃣️其他:
1 length:求字符串的长度
2 stringByAppendintString:字符串后面增加一个新的字符串
3 rangeOfString:查找字符串中是否包含其他字符
4 stringByTrimmingCharacterInSet:去除空格或回车
 
 
以上七种方法具体实现如下:
  1 /    NSString
2 // NSString *string1 = [NSString stringWithString:@"appbear"];
3 // NSLog(@"%@",string1);
4
5
6 NSString *string2 = @"bearapp";
7 NSLog(@"%@",string2);
8
9
10 NSString *string3 = [NSString stringWithFormat:@"today is %d",5];
11 NSLog(@"%@",string3);
12
13 // 连接两个字符串
14 NSString *string4 = [NSString stringWithFormat:@"today is %@",string2];
15 NSLog(@"%@",string4);
16
17
18 // 判断string是不是一样
19 NSString *codeString = @"cocochina123";
20 NSString *codeString2 = @"cocochina123";
21
22 if ([codeString isEqualToString:codeString2]) {
23 NSLog(@"两个字符串相等");
24 }else{
25 NSLog(@"两个字符串不相等");
26 }
27
28 // 比较地址是否相同
29 if (codeString2==codeString) {
30 NSLog(@"==");
31 }else{
32 NSLog(@"!=");
33 }
34
35 // 大小写转换
36 // 全部转化为大写
37 NSString *up = [codeString uppercaseString];
38 NSLog(@"%@",up);
39 // 全部转化为小写
40 NSString *low = [codeString2 lowercaseString];
41 NSLog(@"%@",low);
42 // 全部首字母大写
43 NSString *cap = [string4 capitalizedString];
44 NSLog(@"%@",cap);
45
46
47
48 NSString *stri1 = @"abcdefg";
49 NSString *stri2 = @"bbcdefg";
50 if (stri1==stri2) {
51 NSLog(@"两个字符串相同");
52 }else{
53 NSLog(@"两个字符串不同");
54 }
55 if ([stri1 isEqualToString:stri2]) {
56 NSLog(@"两个字符串equal");
57 }else{
58 NSLog(@"两个字符串not equal");
59 }
60 // NSComparisonResult是一个枚举量
61 NSComparisonResult resut = [stri1 caseInsensitiveCompare:stri2];
62
63 NSLog(@"%ld",resut);
64 */
65 // 截取字符串
66 NSString *string1 = @" 今 天 天晴 了 ";
67 NSString *string2 = @" 今天 天阴 了 ";
68 NSLog(@"%@",[string1 substringFromIndex:2]);
69 NSLog(@"%@",[string2 substringToIndex:2]);
70
71 NSRange range = {1,3};
72 NSLog(@"%@",[string1 substringWithRange:range]);
73
74 // 拼接两个字符串
75 NSString * lastOutString = [string1 stringByAppendingString:string2];
76 NSLog(@"%@",lastOutString);
77
78 // 去掉字符串两头的空格
79 NSString *lastTrimString = [string1 stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
80 NSLog(@"%@",lastTrimString);
81
82
83 // 替换字符串的内容
84 NSString *replace = [string1 stringByReplacingOccurrencesOfString:@"今天" withString:@"昨天"];
85 NSLog(@"%@",replace);
86
87
88 // 搜索字符串第一种方法
89 NSRange range1 = [string1 rangeOfString:@"天晴"];
90 if (range1.location!=NSNotFound) {
91 NSLog(@"找到天晴了");
92 }else{
93 NSLog(@"没找到天晴");
94 }
95
96 // 搜索字符串第二种方法
97 NSRange range2 = [string1 rangeOfString:@"天晴"];
98 if (range2.length!=0) {
99 NSLog(@"找到天晴了%lu,%lu",(unsigned long)range2.location,(unsigned long)range2.length);
100 }else{
101 NSLog(@"没找到天晴");
102 }
 
 
 

IOS开发-ObjC-NSString的更多相关文章

  1. ios开发之--NSString中substringFromIndex,substringWithRange,substringToIndex方法的使用

    1,substringFromIndex 从索引0开发到到index的后面的字符 2,substringWithRange 取指定range里面的字符,左边为索引index,右边为截取的范围 3,su ...

  2. ios开发之--NSString的操作

    NSString的操作,下面记录下他的常用方法: NSString *str = @"1111111111aaaaaaaaa2222222222"; 1.查找 //查找 NSRan ...

  3. ios开发之 -- NSString指定字体高亮显示

    一个简单的小需求,就是在一个字符串里面,指定一部分字节高亮显示,代码如下: NSString *descStr = @"需要高亮显示的字符"; NSString *nickStr ...

  4. ios开发之--NSString和NSArray互转

    将string字符串转换为array数组 NSArray  *array = [Str componentsSeparatedByString:@","];//分隔符逗号 将arr ...

  5. 【iOS开发】-NSString的扩展使用

    第一:基本数据类型与字符串转换 //基本数据类型(int float,double char) 1)基本数据类型->NSString //1.int类型换换成字符串 int a = 88; NS ...

  6. iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转

    iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转 1. 字典转Json字符串 // 字典转json字符串方法 -(NSString *)convertToJs ...

  7. iOS开发Extra系列:NSString***

    在iOS系统,NSString可能是最常用的对象,很多用法跟其他语言不一样. 字符串对象NSString 使用格式创建字符串 1 2 3 4 5 + (id)stringWithFormat:(NSS ...

  8. iOS开发系列--打造自己的“美图秀秀”

    --绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quartz ...

  9. iOS开发系列--Swift进阶

    概述 上一篇文章<iOS开发系列--Swift语言>中对Swift的语法特点以及它和C.ObjC等其他语言的用法区别进行了介绍.当然,这只是Swift的入门基础,但是仅仅了解这些对于使用S ...

  10. iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总

    --系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用 ...

随机推荐

  1. Python -- Web -- 使用框架

    Python的web框架有很多: Flask,Django,Zope2,Web.py,Web2py,Pyramid,Bottle, Tornado... Flask 轻量级,比较简单 from fla ...

  2. mysql 查询 45 道题

    一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...

  3. springMVC的拦截器工作流程

    首先,springmvc的拦截器配置在这就不多说了.主要讲一下拦截器的三个方法的执行顺序. preHandle方法一定是最先执行的方法,如果它返回为false下面的方法均不执行. postHandle ...

  4. Android --- 读取系统资源函数getResources()小结

    http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1201/655.html 编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用, ...

  5. ButterKnife-5.1.2.jar(较低版本的ButterKnife)使用方法

    ButterKnife注解是编译时注解,Xutils是运行时注解.很明显编译时注解性能更高 一.先配置好环境 1.在工程上右键,选Properties,然后选Java Compiler,选Annota ...

  6. css 10 款非常棒的CSS代码格式化工具推荐

    http://www.iteye.com/news/23692/  10 款非常棒的CSS代码格式化工具推荐 2011-12-14 09:31 by 副主编 wangguo 评论(0) 有9111人浏 ...

  7. zf-关于调用页面提示找不到className的原因

    多亏了蒋杰 还好他上次告诉我 关于节点的问题 我一看到这个函数就想到了他以前教我的    我这里一开始就调用js函数了 所以没获取到节点    后来把方法换到这里就OK了    

  8. zf-关于注册码过期

    Webroot-index.jsp下 少写了个函数 导致登陆进去不能弹出注册码过期的对话框,函数如下 window.onload = function() { <ww:iterator valu ...

  9. Base64编码与图片互转

    import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ...

  10. 定制化jQuery

    毋庸置疑,jQuery很强大,很方便,但是......越来越臃肿,怎么办?,jquery只基于模块化开发的,可以通过工具定制jquery,选择你需要的模块即可. 下面这个网站可以帮你完成定制 http ...