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 ...
随机推荐
- 抛弃os.path,拥抱pathlib
基于Python的文件.目录和路径操作,我们一般使用的是os.path模块. pathlib是它的替代品,在os.path上的基础上进行了封装,实现了路径的对象化,api更加通俗,操作更便捷,更符编程 ...
- webpack-dev-server简记
webpack -v 3.4.1 npm -v 3.10.10 /////////////////////////////////////// webpack的webpack-dev-server可以 ...
- 聚类算法——DBSCAN算法原理及公式
聚类的定义 聚类就是对大量未知标注的数据集,按数据的内在相似性将数据集划分为多个类别,使类别内的数据相似度较大而类别间的数据相似度较小.聚类算法是无监督的算法. 常见的相似度计算方法 闵可夫斯基距离M ...
- 微信小程序入门知识点总结
微信小程序入门知识点总结 前情介绍 微信小程序就不多介绍了,我们想要开发微信小程序首先得到微信公众平台 下方的小程序处注册相关账号并登录,接着填写小程序相关资料.在设置处可找到AppID用以开发微 ...
- SpringBoot整合Redis实现简单的set、get
一.导入pom.xml文件相关的依赖并配置 <dependency> <groupId>org.springframework.boot</groupId> < ...
- 【新手引导】MAC如何允许安装任何来源的软件(安装第三方软件/应用)
1 打开系统偏好设置,找到安全性与隐私(第一行第六个) 2 进入安全性与隐私,点击左下角一个锁的按钮,输入自己电脑密码,允许从以下位置下载的应用: 新电脑应该是两个选项 1.APP store 2.A ...
- iOS开发Runtime 方法替换
通过#import <objc/runtime.h>我们可以找到: /** * Returns a specified instance method for a given class. ...
- Asp.Net Core入门之配置文件
ASP.NET Core配置框架已内建支持 JSON.XML 和 INI 配置文件,内存配置(直接通过代码设置值),环境变量配置等方式配置参数. 本文主要和大家讲一下我们在项目中常用的以配置文件的方式 ...
- 强力解决使用node版本管理工具 NVM 出现的问题(找不到 node,或者找不到 npm)
nvm是好用的Nodejs版本管理工具, 通过它可以方便地在本地调换Node版本. 2020-05-28 当前长期稳定版12.17.0,于是 nvm install 12.17.0 然后C:/nvm/ ...
- 【PyTorch】深度学习与PyTorch资料链接整理
欢迎来到我的博客! 以下链接均是日常学习,偶然得之,并加以收集整理,感兴趣的朋友可以多多访问和学习.如果以下内容对你有所帮助,不妨转载和分享.(Update on 5,November,2019) 1 ...