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. qt windows分发工具使用(windoployqt)

      在qt的安装目录下:QTDIR/bin/windeployqt 例如我的默认安装在: C:\Qt\Qt5.3.1\5.3\msvc2013 windoployqt在: C:\Qt\Qt5.3.1\ ...

  2. Tcl学习之--语法|变量

    [语法|变量] l 脚本.命令和单词 Tcl提供了大约100条命令.Tk提供了另外几十条,脚本包括一条或多条,通过换行符或分号分隔开. set a 12 set b 23 也能够写成一行: set a ...

  3. 二、获取AccessToken

    二.获取AccessToken 1.官方文档: access_token是微信官方公众号调用接口的全局唯一票据,开发者调用任何接口都需要使用access_token,由于access_token有效期 ...

  4. JavaSE思维导图(六)

  5. php install

    ./configure --prefix=/home/allen.mh/local/php --with-gd=/home/allen.mh/local/gd --with-jpeg-dir=/hom ...

  6. smarty函数-转载

    Smarty常用函数 2009-08-13 14:05:55|  分类: Php |举报 |字号 订阅   1 .include_once语句: 引用文件路径,路径必需正确.   eg:include ...

  7. Ie浏览器TextBox文本未居中

    Ie浏览器TextBox文本未居中,而其他浏览器无问题时,可能原因是未设置垂直居中  vertical-align:middle

  8. Android 实现GIF播放(解码)

    实现原理很简单,先把GIF动画解码成多张Bitmap图片,然后放到AnimationDrawable里面去逐一播放即可. GifHelper代码: package com.android.view; ...

  9. web server服务器

    使用最多的 web server服务器软件有两个:微软的信息服务器(iis),和Apache. 通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序 ...

  10. 【Howie玩docker】-命令行只显示-bash-4.1#

    灵雀云上面用docker建了个centOS的实例,首个免费,正好当云主机来玩. 但是,打开有个问题,命令行不显示当前用户和路径. 只显示: -bash-4.1# 简单,配置文件不全而已. 下面对其重新 ...