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 ...
随机推荐
- pytest——pycharm中右击运行(run)没有问题,在terminal中运行pytest报错:E ModuleNotFoundError: No module named
参考了这个解决办法:https://blog.csdn.net/qq_36829091/article/details/82180866 我的是Windows,linux的和Windows的解决办法有 ...
- python之感知器-从零开始学深度学习
感知器-从零开始学深度学习 未来将是人工智能和大数据的时代,是各行各业使用人工智能在云上处理大数据的时代,深度学习将是新时代的一大利器,在此我将从零开始记录深度学习的学习历程. 我希望在学习过程中做到 ...
- Java实现DDD中UnitOfWork
Java实现DDD中UnitOfWork 背景 Maintains a list of objects affected by a business transaction and coordinat ...
- 【蓝桥杯C/C++组】备赛基础篇之差分算法
一.个人理解 前面学习了前缀和算法,对于访问任意区间的速度是比较快的,但如果我们要修改某个区间的数呢,对于前缀和算法来说这还是有点棘手. 所以我们来学学新的算法:差分算法! 前缀和数组储存的是前n个数 ...
- easyui及读取xml
本地测试地址例如http://localhost:6541/TreeExam/AuthorityTree TreeExam 是TreeExamController AuthorityTree是Tree ...
- 排序算法的总结——Java实现
前言 简单归纳一下最近学习的排序算法,如果有什么错误的地方还请大家指教. 本文介绍了七种经典排序算法,包括冒泡排序,选择排序,插入排序,希尔排序,归并排序,快速排序以及堆排序,并且讨论了各种算法的进一 ...
- Flow Control
Exercise-01 Max Of Two Numbers Write a function that takes two numbers and returns the maximum of th ...
- Socket - TCP编程
Socket是网络编程的一个抽象概念. 通常我们用一个Socket表示“打开了一个网络链接”,而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可 socket参数及常用功能 ...
- JUC整理笔记二之聊聊volatile
要想学好JUC,还得先了解 volatile 这个关键字.了解 volatile ,我们从一个例子开始吧. 本文不会很详细去说java内存模型,只是很简单地学习一下volatile 一个例子 pack ...
- WordPress批量更换域名
UPDATE wp_options SET option_value = replace( option_value, 'http://www.old.com', 'http://www.new.co ...