// —————————NSString

// NSString

//1.初始化:直接字符串、格式化字符串、文件读取内容初始化

NSString *str1 = @"hello world!";

NSString *str2 = [NSString stringWithFormat:@"start to printf: %@", str1];

NSString *str3 = [[NSString alloc] initWithContentsOfFile:@"/user/document/test.txt" encoding:NSUTF8StringEncoding error:nil];

// 字符串写入文件

[str1 writeToFile:@"/user/document/test.txt" atomically:YES];

// 字符串大写、小写、首字母大写

str1 = [str1 uppercaseString];

str1 = [str1 lowercaseString];

str1 = [str1 capitalizedString];

//字符串截取

str2 = [str1 substringFromIndex:5];

NSLog(@"string = %@", str2);

str2 = [str1 substringToIndex:5];

NSLog(@"string = %@", str2);

str2 = [str1 substringWithRange:NSMakeRange(0, 7)];

NSLog(@"string = %@", str2);

// 字符串是否以另一字符串开头或结尾

BOOL isStart = [str1 hasPrefix:@"hello"];

NSLog(@"isStart is : %i", isStart);

BOOL isEnd = [str1 hasSuffix:@"world!"];

NSLog(@"isEnd is : %i", isEnd);

// 获取文件后缀名

NSString *filePath = @"/document/test.txt";

NSString *ext = [filePath pathExtension];

NSLog(@"ext is : %@", ext);

// 字符串转整形

NSString *value = @"100";

int va = [value intValue];

NSLog(@"va is : %i", va);

// 字符串替换

str1 = [str1 stringByReplacingOccurrencesOfString:@"hello" withString:@"bye bye"];

// 字符串转整

int intVal = [str1 intValue];

NSLog(@"str to int : intVal= %i", intVal);

str1 = [[NSNumber numberWithInteger:intVal] stringValue];

NSLog(@"int to str = %@", str1);

// 字符串分割

NSString *splitStr = @"test1;test2;test3;test4";

NSArray *array = [splitStr componentsSeparatedByString:@";"];

NSLog(@"%@", array);

// 可变字符串

NSMutableString *mulStr = [[NSMutableString alloc] initWithCapacity:1];

[mulStr appendString:@"test1"];

[mulStr appendFormat:@"test2"];

[mulStr insertString:@";" atIndex:5];

[mulStr replaceCharactersInRange:NSMakeRange(0, 4) withString:@"replace test"];

[mulStr deleteCharactersInRange:NSMakeRange(0, 4)];

// 查找字符串包含

NSRange range = [mulStr rangeOfString:@"test"];

NSLog(@"location : %ld", range.location);

NSLog(@"mulStr is : %@", mulStr);

// 字符串比较  小于:-1 等于:0 大于:1

NSString *comStr1 = @"bbc";

NSString *comStr2 = @"bbc";

NSComparisonResult result = [comStr1 compare:comStr2];

NSLog(@"result=%ld", result);

NSString的更多相关文章

  1. NSString属性什么时候用copy,什么时候用strong?

           我们在声明一个NSString属性时,对于其内存相关特性,通常有两种选择(基于ARC环境):strong与copy.那这两者有什么区别呢?什么时候该用strong,什么时候该用copy呢 ...

  2. iOS UIAlertController跟AlertView用法一样 && otherButtonTitles:(nullable NSString *)otherButtonTitles, ... 写法

    今天写弹出框UIAlertController,用alertView习惯了,所以封装了一下,跟alertView用法一样,不说了,直接上代码: 先来了解一下otherButtonTitles:(nul ...

  3. 【去除NSString 字符串中的空格换行符】

    @interface NSString (DeletWhiteSpace) // 返回一个去掉前后空格的字符串或者下划线,如果自己是一个nil 返回@“” - (NSString *)trimming ...

  4. NSString 的常用操作

    NSString *testStr01=@"HelloWord"; NSString *testStr02=[testStr01 substringToIndex:];//取头(从 ...

  5. 时间戳转化为日期TimeStamp转NSDate转NSString

    //时间戳处理 NSInteger time = [self.album.updatedAt integerValue] / 1000; NSNumber *timer = [NSNumber num ...

  6. iOS - Json解析精度丢失处理(NSString, Double, Float)

    开发中处理处理价格金额问题, 后台经常返回float类型, 打印或转成NSString都会有精度丢失问题, 因此使用系统自带的NSDecimalNumber做处理, 能解决这问题:经过测试其实系统NS ...

  7. iOS NSString中的搜索方法rangeOfString

    NSString *str = @"your://aaa?backscheme=my"; //在str中查找“backscheme=”,并返回一个NSRange类型的值,我们可以通 ...

  8. NSString相关操作

    //创建一个字符串对象 NSString * str_1 = @"Hello"; //字面量方法 ; NSString * str_2 = [NSString stringWith ...

  9. NSString 和NSData 转换

    NSString 转换成NSData 对象 NSData* xmlData =[@"testdata" dataUsingEncoding:NSUTF8StringEncoding ...

  10. NSString 初始化方法的内存比较

    NSString *str1 = @"hello"; NSString *str2 = @"hello"; NSString *str3 = [NSString ...

随机推荐

  1. PHP 设计模式 笔记与总结(9)数据对象映射模式

    [数据对象映射模式] 是将对象和数据存储映射起来,对一个对象的操作会映射为对数据存储的操作.例如在代码中 new 一个对象,使用数据对象映射模式就可以将对象的一些操作比如设置一些属性,就会自动保存到数 ...

  2. web_custom_request函数详解

    在LR中当使用HTML录制方式时,录制的脚本中主要由函数web_link().web_submit_form().web_url().web_submit_data()组成,当使用HTTP录制方式时, ...

  3. P1379 八数码问题

    aoapc上的八数码问题,在luogu上也有类似的题,p1379,经典题目,lrj给出了一个算法,同时给出了三种判重的方法.本来想用std::queue改写一下,但是出了各种问题,只好抄代码ac掉这道 ...

  4. kudu

    Kudu White Paper http://www.cloudera.com/documentation/betas/kudu/0-5-0/topics/kudu_resources.html h ...

  5. Lazarus中Base64的操作

    在字符串处理中,我们经常需要对文件编码然后再进行传输,通常会使用base64编码,在FreePascal中默认集成了这个单元,我们来介绍如何使用: 首先需要在引用单元的时候使用: use base64 ...

  6. Bootstrap 图标菜单按钮组件

    ---恢复内容开始--- 一.小图标组件 Bootstrap 提供了免费的 263 个小图标(数了两次),具体可以参考中文官网的组件 链接:http://v3.bootcss.com/componen ...

  7. CGROUP

    二:cgroup中的概念在深入到cgroup的代码分析之前.先来了解一下cgroup中涉及到的几个概念:1:cgroup: 它的全称为control group.即一组进程的行为控制.比如,我们限制进 ...

  8. 窗口类型(Widget, Window, Dialog, Desktop, SubWindow等等)

    http://doc.qt.io/qt-5/qwidget.html#windowFlags-prop http://doc.qt.io/qt-5/qtwidgets-widgets-windowfl ...

  9. int a=5,则 ++(a++)的值是?

    编译出错:++(a++)先计算的是括号里的(a++),返回的结果是一个表达式,其值是5,不能对表达式进行赋值

  10. NGINX原理分析 之 SLAB分配机制

    1 引言 众所周知,操作系统使用伙伴系统管理内存,不仅会造成大量的内存碎片,同时处理效率也较低下.SLAB是一种内存管理机制,其拥有较高的处理效率,同时也 有效的避免内存碎片的产生,其核心思想是预分配 ...