iOS开发过程中,从始至终都会和NSString打交道,在此总结一下NSString的常用的方法,在以后的学习过程中用到的方法也会继续添加

  NSString类是Foundation框架中得不可变字符串,当NSString创建完成后,字符串的内容不可更改,与之对应的是NSMutableString类

一、NSString对象的创建

  1.使用类方法(stringWithFormat:)进行字符串创建,此方法可以动态的构建字符串,并且能够给字符串传递参数(推荐)

 NSString* str = [NSString stringWithFormat:@"曾经我打听过,你最近的生活 %@", @"love you"];
NSLog(@"%@", str);

  2.其他创建方法

      // 把C字符串转成OC的字符串对象
char* p = "I love beijing";
NSString* testStr = [[NSString alloc] initWithFormat:@"%s",p ];
NSLog(@"testString = %@",testStr); // 把OC字符串对象转成C字符串
const char* newP = [testStr UTF8String];
NSLog(@"newp = %s",newP); // 与格式控制字符串构建对象的实例方法对应的类方法
// 使用(Foundation框架里的)类方法创建的对象,由自动释放池管理内存
NSString* str2 = [NSString stringWithFormat:@"This is a OC sting %d",];
NSLog(@"str2 = %@",str2);
//=============================================
// 使用一个现有的字符串对象构建一个新的字符串对象
NSString* str = @"I'm a oc string";
NSString* str3 = [[NSString alloc] initWithString:str];
NSLog(@"str3 = %@",str3);
// 与之对应的类方法
NSString* str4 = [NSString stringWithString:str];
NSLog(@"str4 = %@",str4); //==============================================
// 使用一个C字符串构建一个OC的字符串对象
NSString* str5 = [[NSString alloc] initWithUTF8String:"This is a c String"];
NSLog(@"str5 = %@",str5);
// 与之对应的类方法
NSString* str6 = [NSString stringWithUTF8String:"This is a c String"];
NSLog(@"str6 = %@",str6); //==============================================
// 使用文件内容构建一个字符串对象 NSString* filePath = @"/Users/qianfeng/Desktop/test.txt";
/*
第一个参数:读取的文件的路径
第二个参数:指定编码集为NSUTF8String
第三个参数:用于存放读取文件过程中的错误信息
*/
NSError* error = nil;
NSString* str7 = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
NSLog(@"str7 = %@",str7);

二、NSString常用操作

  //获取字符串长度(length)
NSString* str = [NSString stringWithFormat:@"曾经我打听过,你最近的生活 %@", @"love you"];
NSUInteger lenth = [str length];
NSLog(@"%ld", lenth);
NSLog(@"%@", str);
//NSRange
/*
NSRange在Foundation框架中定义如下
typedef struct _NSRange {
NSUInteger location; //表示位置
NSUInteger length; //长度
} NSRange;
*/
NSString* str2 = @"忙碌工作之余是否有运动?";
NSString* subString = @"忙碌";
//查找子串(从0开始)
NSRange range = [str2 rangeOfString: subString];
//打印框架内结构体的方法
NSLog(@"%@", NSStringFromRange(range));
//使用框架创建range
NSRange newRange = NSMakeRange(, );
NSString* newTemp = [str2 substringWithRange: newRange];
NSLog(@"%@", newTemp);
//判断是否在父串中找到子串
if (range.location == NSNotFound) {
NSLog(@"Can't fount");
}else{
NSLog(@"Got it!");
}
//字符串比较(大小)
NSString* strA = @"chengDu";
NSString* strB = @"chongQing";
//compare:方法的返回值类型为NSComparisonResult(枚举值),其中
//NSOrderedSame表示相等 NSOrderedAscending表示升序(小于)
//NSOrderedDescending 表示降序(大于)
if ([strA compare: strB] == NSOrderedSame) {
NSLog(@"相等");
}else if([strA compare: strB] == NSOrderedAscending){
NSLog(@"小于");
}else{
NSLog(@"大于");
}
//字符串比较(是否相等)
BOOL isEqule = [strA isEqualToString: strB];
NSLog(@"The result is : %d", isEqule); //判断字符串前后缀
NSString *fileString = @"/Users/student/DeskTop/file.txt";
//判断前缀(hasPrefix:)方法
BOOL isPrefix = [fileString hasPrefix:@"/Users"];
//判断后缀 (hasSuffix:)方法
BOOL isSuffix = [fileString hasSuffix: @".txt"];
NSLog(@"isPrefix = %d, isSuffix = %d", isPrefix, isSuffix);
//字符串转换为数字
/*
框架提供的字符串转换的方法如下:
- (double)doubleValue;
- (float)floatValue;
- (int)intValue;
- (NSInteger)integerValue NS_AVAILABLE(10_5, 2_0);
- (long long)longLongValue NS_AVAILABLE(10_5, 2_0);
- (BOOL)boolValue NS_AVAILABLE(10_5, 2_0);
*/
NSString* strToNum = @"12345.234";
int result = [strToNum intValue];
NSLog(@"result = %d", result);

Foundation 框架 NSString常用总结的更多相关文章

  1. foundation 框架 NSString常用总结(二)

    以此作为NSString常用总结(一)的补充 NSString* str = [NSString stringWithFormat:@"I love programing! You, com ...

  2. iOS Foundation框架 -2.常用集合类简单总结

    Foundation框架中常用的类有:NSString.NSArray.NSSet.NSDictionary 以及它们对应的子类 NSMutableString.NSMutableArray.NSMu ...

  3. iOS Foundation框架 -1.常用结构体的用法和输出

    1.安装Xcode工具后会自带开发中常用的框架,存放的地址路径是: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.plat ...

  4. Foundation框架-NSString和NSMutableString

    可变与不可变的字符串 --1-- Foundation框架介绍 1.1 框架介绍 --2-- NSString 2.1 NSString介绍及使用 2.2 NSString创建方式  2.3 从文件中 ...

  5. [OC Foundation框架 - 1] 常用结构体

    底层封装是使用了typedef定义的结构体 typedef struct _NSString{ xxx xxx } NSString;   1. NSRange 结构体 #注意结构体不是对象 3种定义 ...

  6. OC本学习笔记Foundation框架NSString与NSMutableString

       一.NSString与NSMutableString         相信大家对NSString类都不陌生.它是OC中提供的字符串类.它的对象中的字符串都是不可变的,而它的子类NSMutable ...

  7. Objective-C:Foundation框架-常用类-NSString全解

    Foundation框架中常用的类有字符串.集合.字典等,这里介绍字符串NSString.本文分别介绍了NSString的创建.从文件里读取NSString字符串.通过函数改变外部的NSString变 ...

  8. iOS Foundation框架简介 -1.常用结构体的用法和输出

    1.安装Xcode工具后会自带开发中常用的框架,存放的地址路径是: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.plat ...

  9. 13.Object-C--浅谈Foundation框架常用的结构体

    ------- android培训.iOS培训.期待与您交流! ---------- 昨天学习了Foundation框架中常用的结构体,下面我简单的总结一下,如果错误麻烦请留言指正,谢谢! Found ...

随机推荐

  1. 运用JavaScript构建你的第一个Metro式应用程序(onWindows 8)(二)

    原文 http://blog.csdn.net/zhangxin09/article/details/6793330 先前的学习中,我们已经了解了 Metro式的 JavaScript 应用程序大致如 ...

  2. /etc/security/limits.conf 配置

    <pre name="code" class="python">* soft nofile 65535 * hard nofile 65535 * ...

  3. 跟我一起学ruby (转)

    跟我一起学ruby By Tiger 注:本教程转载自在游戏先行者论坛,版权属于作者Tiger. 第一篇 第二篇 第一篇 自序 从今天起我就要开始学Ruby了.怎么样,没见吧?一个新人写教程.就凭我坚 ...

  4. Unix/Linux环境C编程入门教程(8) FreeBSD CCPP开发环境搭建

    1. FreeBSD是一种自由类Unix操作系统,是由经过BSD.386BSD和4.4BSD发展而来的类Unix的一个重要分支.FreeBSD拥有超过200名活跃开发者和上千名贡献者.FreeBSD被 ...

  5. css组件规范

    7月份研究了下 写了下总结. 笔记地址

  6. 我的小前端 (2)—— JQ和zepto

    没有什么特别新技术,就是记录我做移动端遇到的问题 2016-02-16 关于JS库 JQ很简单,网上很多插件效果都依赖它,但JQ库很大 zepto.js用简单效果,很好用 <script src ...

  7. C#高效导出Excel(IList转DataTable,DataSet)

    微软的Excel操作类导出Excel会很慢,此方法简单的把表中内容以字符串的形式写入到Excel中,用到的一个技巧就是"\t". C#中的\t相当于Tab键,写入到Excel中时就 ...

  8. log4j 详解

      转载自:http://www.blogjava.net/hwpok/archive/2008/08/23/223891.html >>>>1. 概述<<< ...

  9. 调度器(scheduler)

    调度器(schedule)为游戏提供定时事件和定时调用服务. 调度器(schedule)的功能和事件监听器(eventlistener)的功能有点类似:都是在特定情况下调用某个事先准备好的回调函数. ...

  10. 浅谈Hash函数

    什么是hash函数: hash函数也可以翻译成“散列”函数,一般就使用音译“哈希”函数,简单的说哈希函数是对任意长度的输入进行的压缩映射,所谓的压缩映射顾名思义,输出通常来说要比输入短,并且得到的输出 ...