iOS-NSString常见方法
</pre><pre name="code" class="html">#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 1、创建NSString 方法1
NSString *str1 = @"abc";
NSLog(@"str addr %p val is %@ ",str1,str1);
// 2、格式化创建NSString
//字符串常量区
NSString *str2 =[NSString stringWithFormat:@"%@",@"ABCD"];
NSLog(@"str addr %p val is %@ ",str2,str2);
char buffer[200] ={'a','b','c','d'};
NSString *str3 =[NSString stringWithFormat:@"%s",buffer];
NSLog(@"str addr %p val is %@ ",str3,str3);
//堆区
char buffer1[200] ={'a','b','c','d'};
NSString *str4 =[[NSString alloc] initWithFormat:@"%s",buffer1];
NSLog(@"str addr %p val is %@ ",str4,str4);
// 3、写入到文件中区
NSString *str5 = @"I LOVE YOU ";
NSError *err;
[str5 writeToFile:@"/Users/yangsanchao/Desktop/test.txt" atomically:YES encoding:NSUTF8StringEncoding error:&err];
//************* 从文件中读取字符串显示到控制台上 ***************
NSString *str6 = [ NSString stringWithContentsOfFile:@"/Users/yangsanchao/Desktop/test.txt" encoding:NSUTF8StringEncoding error:&err];
if (err == nil){
NSLog(@"文件读取成功 %@ ",str6);
} else {
NSLog(@"file read faile %@",err);
}
//5> NSString的常见方法:
//5.1 - (NSString *)uppercaseString; 大写转小写
// - (NSString *)lowercaseString;小写转大写 I LOVE YOU TOO"
NSString *str7 = @"i love you";
NSString *str8 = @"i love you too ; I LOVE YOU TOO ";
NSLog(@"小写转大写 %@ ",[str7 uppercaseString]);
NSLog(@"大写转小写 %@ ",[str8 lowercaseString]);
NSLog(@"首字母大写 %@ ",[str7 capitalizedString]);//首字母大写
NSLog(@"是否相等 %d",[str7 isEqualTo:str7]);
/*逐字符比较大小;s1>s2: 1; s1=s2: 0 ; s1<s2: -1*/
NSLog(@"逐字符比较大小 %ld",[str8 compare:str7]);
NSLog(@"逐字符比较大小 %ld",[str7 compare:str8]);
NSLog(@"是否以xx开头 %d",[str7 hasPrefix:@"i"]);
NSLog(@"是否以xx结尾 %d",[str7 hasSuffix:@"you"]);
//读取NSRange 方法1
NSRange range = [str7 rangeOfString:@"you"];
NSLog(@"读取NSRange 方法1 %lu %lu",range.location,range.length);
//读取NSRange 方法2
NSLog(@"NSRange 方法2 %@",NSStringFromRange([str7 rangeOfString:@"you"]));
//NSRange range1 = [str7 rangeOfString:@"you" options NSBackwardsSearch];
NSLog(@"反方向搜索: %@", NSStringFromRange([str7 rangeOfString:@"you" options: NSBackwardsSearch]));
NSLog(@"从指定位置from开始%@",[str7 substringFromIndex:0]);
NSLog(@"从指定位置to开始%@",[str7 substringToIndex:6]);
NSLog(@"截取%@",[str7 substringWithRange: NSMakeRange(5, 3)]);
//NSLog(@"截取%@",[str7 substringWithRange: {5,4}]);
NSLog(@"替换%@",[str7 stringByReplacingOccurrencesOfString:@"you"
withString:@"myself"]);
//长度
NSLog(@"字符长度 %lu",str7.length);//.
NSLog(@"字符长度 %lu",[str7 length]);//对象调用
NSLog(@"某个字符 %c ",[str7 characterAtIndex:0]);
/*
- (double)doubleValue;
- (float)floatValue;
- (int)intValue;
- (char *)UTF8String;
*/
NSString *s1 = @"123";
double du = s1.doubleValue;
float fl = s1.floatValue;
int i = s1.intValue;
const char *s2 = s1.UTF8String;
printf("du:%.2f fl:%.2f i:%d s2:%s \n",du,fl,i,s2);
}
return 0;
}
iOS-NSString常见方法的更多相关文章
- ios NSString常见的字符串操作 分割 查找
1.NSString *str = [[NSString alloc]init]; //简单粗暴,基本用不到 2.NSString *str = [[NSString alloc]initWi ...
- ios NSString拼接方法总结
NSString* string; // 结果字符串 02 NSString* string1, string2; //已存在的字符串,需要将string1和string2连接起来 03 04 / ...
- iOS的常见文件及程序的启动原理
一. iOS中常见文件 (一). Xcode6之前 创建项目,默认可以看见一个存放框架的文件夹 info文件以工程文件名开头,如:第一个项目-Info.plist 项目中默认有一个PCH文件 (二). ...
- Method Swizzle黑魔法,修改 ios 系统类库方法 SEL IMP
Method Swizzle黑魔法,修改 ios 系统类库方法 版权声明:本文为博主原创文章,未经博主允许不得转载. 一般来说,系统提供的方法已经足够开发了,但是有的时候有些需求用普通方法不好做. ...
- iOS常用公共方法
iOS常用公共方法 字数2917 阅读3070 评论45 喜欢236 1. 获取磁盘总空间大小 //磁盘总空间 + (CGFloat)diskOfAllSizeMBytes{ CGFloat si ...
- UIPickerView常见属性、常见方法(包括代理方法和数据源方法)的一些说明
一.UIPickerView 1.UIPickerView的常见属性 // 数据源(用来告诉UIPickerView有多少列多少行) @property(nonatomic,assign) id< ...
- iOS 常用公共方法
iOS常用公共方法 1. 获取磁盘总空间大小 //磁盘总空间 + (CGFloat)diskOfAllSizeMBytes{ CGFloat size = 0.0; NSError *error; N ...
- iOS常用加密方法(aes、md5、base64)
1.代码 iOS常用加密方法(aes.md5.base64) .AES加密 NSData+AES.h文件 // // NSData-AES.h // Smile // // Created by 周 ...
- C#图片处理常见方法性能比较
C#图片处理常见方法性能比较 来自:http://www.cnblogs.com/sndnnlfhvk/archive/2012/02/27/2370643.html 在.NET编程中,由于GDI ...
随机推荐
- MFC带参数启动指令发送与接收
MFC带参数启动指令发送与接收 发送 使用ShellExecute函数打开文件或执行程序. 函数原型: HINSTANCE ShellExecute( _In_opt_ HWND hwnd,//父窗口 ...
- spark机器学习从0到1特征选择-卡方选择器(十五)
一.公式 卡方检验的基本公式,也就是χ2的计算公式,即观察值和理论值之间的偏差 卡方检验公式 其中:A 为观察值,E为理论值,k为观察值的个数,最后一个式子实际上就是具体计算的方法了 n 为总 ...
- Hyperledger Fabric——balance transfer(六)查询
balance transfer 提供了很多查询接口,包括链码查询,根据区块号查询区块数据,根据交易ID查询交易信息,查询链上的区块数,查询已安装或已实例化的链码,查询通道. 源码解析 1.调用链码查 ...
- 【转】团队项目的Git分支管理规范
原文地址: http://blog.jboost.cn/git-branch.html 分支管理 创建项目时(一般是服务型项目,工具型或辅助型项目可以简单一些),会针对不同环境创建三个常设分支: de ...
- Html响应式图片
Html响应式图片 1.介绍:根据屏幕匹配的不同尺寸显示不同图片,picture 元素允许我们在不同的设备上显示不同的图片,一般用于响应式 <!-- 在不同的屏幕尺度下显示不同的图片 --> ...
- Django创建应用以及路由的配置
Django简介:是一个开放源代码的web 应用框架,由python 写成.初次发布于2005年7月,并于2008年9月发布了第一个正式版本1.0. 文件说明:manage.py:一个命令行工具,可以 ...
- NO.3 MSP432P4_SDK浏览
网上关于MSP432的参考资料很少,我们要学习的最权威的资源只有TI提供的SDK.这是好处也是坏处,好处是我们学习的是TI一手资源,不再是拾人牙慧:坏处是英语能力要求较高. 闲话少说,我们先来看SDK ...
- Qt版本中国象棋开发(一)
开发目的:实现象棋人机对战简单AI,网络对战,移植到android中. 开发平台:windows10 + Qt5.4 for android 开发语言:C++ 开发过程:1.棋盘绘制: 方法一:重写 ...
- windows环境下Kubernetes及Docker安装(那些坑)
k8s 和 Docker容器技术,当前非常流行的技术. 让人日狗的是, 这套技术栈对CN的donet 程序员不怎么友好.娓娓道来,1. 好多镜像都是需要梯子才能访问: 2. window程序员天生 ...
- 6.Set集合类型操作使用
Set集合类型 (1)介绍 redis的set是string类型的无序集合set元素最大可以包含(2的32次方-1)个元素关于set集合类型除了基本的添加删除操作,其它有用的操作还包含集合的取并集(u ...