Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值。而NSMutableString 创建赋值以后可以动态在该字符串上更改内容与长度。

创建NSString字符串:
NSString 与 char* 最大的区别就是 NSString是一个objective对象,而char* 是一个字节数组。@+ " 字符串 " 这个符号为objective-c NSString 字符串常量的标准用法,char* 创建的时候 无需添加@
    // 创建字符串
NSString *str = @"jack";
NSString *s1 = [[NSString alloc] initWithFormat:@"age = %d" ,]; // c字符串转oc字符串
NSString *s2 = [[NSString alloc] initWithUTF8String:"jack"]; // oc 转 c
const char *c1 = [s2 UTF8String];
NSLog(@"%s", c1);

字符串的遍历

    NSString *str = @"ni hao peng you";
for (int i = ; i < str.length; i++) {
unichar c = [str characterAtIndex:i];
NSLog(@"%c",c);
}

NSURL

// NSUTF8StringEncoding 用到中文可以用这个
// 传进来文件路径可以查看文件
NSString *s3 = [[NSString alloc] initWithContentsOfFile:"/Users/apple/Desktop/1.txt" encoding:NSUTF8StringEncoding error:nil];
/*URL :资源路径
协议头://路径
file://
ftp://
http://www.baidu.com
*/
// 在 iOS 程序访问 HTTP 资源时需要对 URL 进行 Encode
// NSURL *url = [[NSURL alloc] initWithString:@"file:///Users/apple/Desktop/1.txt"]; NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/1.txt"]; NSString *s4 = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
NSLog(@"s4=\n%@", s4);

NSString :不可变字符串

NSMutableString :可变字符串

字符串中拼接

    // 创建字符串
NSMutableString *s = [NSMutableString stringWithFormat:@"my age is 23"];
// 拼接内容到s的后面
[s appendString:@" 3 21"];

字符串中删除元素

stringWithString 方法:用于创建字符串初始化赋值
rangeOfString方法:传入字符串返回一个在该字符串中的范围 也可以写 NSMakeRange(0, 3) 意思是范围在字符串0位到第3位
deleteCharactersInRange:删除字符串 参数为Range 就是删除的范围。
 
//创建字符串
NSMutableString *str = [NSMutableString stringWithString:@"haha 你好!!"];
//删除字符串中含"haha"的字符
[str deleteCharactersInRange: [str rangeOfString: @"haha"]];
NSLog(@"str = %@",str);

字符串查找

查找一个字符串在另一个字符串首次出现的位置

    NSString *s = @"abciOSdefg";
NSString *s1 = @"iOS";
NSRange * range = [s rangeOfString:s1];
// 判断是否找到字符串
if(range.location!NSNotFound){
NSLog(@"%lu,%lu",range,location, range.length);
}else{
NSLog(@"没有找到字符串位置");
}

判断字符串是否相同

    // 字符串是否相同
NSString *s1 = @"abc"; NSString *s2 = [NSString stringWithFormat:@"abc"]; if ([s1 isEqualToString:s2]) {
NSLog(@"相同");
}else{
NSLog(@"不相同");
}

字符串截取

    NSString *str = @"";
// 从元素下标为3的位置开始往后截取,(包含下标为3的位置的元素)
NSString *str1 = [str substringFromIndex:];
NSLog(@"str1 = %@",str1);
// 从开始位置截取到3位(不包含下标为3的位置的元素)
NSString *str2 = [str substringToIndex:];
NSLog(@"str2 = %@",str2);
// 截取某段位置的字符进行输出
NSRange range ={,};
NSString *str3 = [str substringWithRange:range];
NSLog(@"str3 = %@",str3);
    // 截取某段位置的字符
// 012345 789
NSString *str = @"aaaaa<你好>aaaaaa";
NSUInteger loc = [str rangeOfString:@"<"].location + ; // 传的位置
NSUInteger len = [str rangeOfString:@">"].location - loc; // 要截取的字符长度 NSRange r1 = {loc, len}; NSString *subStr = [str substringWithRange:r1];
NSLog(@"subStr = %@", subStr);

字符串的替换

   // 字符串的替换
NSString *str = @"adadwffdtoiajdfa"; // str stringByReplacingOccurrencesOfString:@"源字符串" withString:@"要替换成的新内容"
// 把a替换成/
NSString * newStr = [str stringByReplacingOccurrencesOfString:@"a" withString:@"/"];
NSLog(@"newStr = %@", str); // 把字符串中的空格去掉
str = @" adad wff dt oiaj df a";
newStr = [str stringByReplacingOccurrencesOfString:@" " withString:@""];
NSLog(@"newStr = %@", newStr); // 把字符串中空格去掉,把星号替换成/
str = @"http ** www* baidu* com*"; newStr = [str stringByReplacingOccurrencesOfString:@" " withString:@""];
NSString *newStr1 = [newStr stringByReplacingOccurrencesOfString:@"*" withString:@"/"];
NSLog(@"newStr1 = %@",newStr1);

Objective-C( Foundation框架 一 字符串)的更多相关文章

  1. Objective - c Foundation 框架详解2

    Objective - c  Foundation 框架详解2 Collection Agency Cocoa provides a number of collection classes such ...

  2. Objective-C语言Foundation框架

    Mac OS X开发会使用Cocoa框架,它是一种支持应用程序提供丰富用户体验的框架,它实际上由:Foundation和Application Kit(AppKit)框架组成.iOS开发,会使用Coc ...

  3. OC 知识:Foundation 框架及相关类详尽总结

    本文用来介绍Foundation框架的相关知识,以及Foundation框架所提供类的相关知识总结. 1. 框架介绍 框架是由很多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使开发程序变得更加 ...

  4. Foundation框架—字符串

    Foundation框架—字符串 一.Foundation框架中一些常用的类 字符串型: NSString:不可变字符串 NSMutableString:可变字符串 集合型: 1) NSArray:O ...

  5. 李洪强iOS之Foundation框架—字符串

    Foundation框架—字符串 一.Foundation框架中一些常用的类 字符串型: NSString:不可变字符串 NSMutableString:可变字符串 集合型: 1) NSArray:O ...

  6. OC Foundation框架—字符串

    一.Foundation框架中一些常用的类 字符串型: NSString:不可变字符串 NSMutableString:可变字符串 集合型: 1) NSArray:OC不可变数组 NSMutableA ...

  7. Objective-C( Foundation框架 一 常见的结构体)

    常见的结构体 (NSPoint,CGPoint).(NSRange,CGRange).(NSSize,CGSize) 苹果官方推荐使用CG开头的结构体 NSRange是Foundation框架中常见的 ...

  8. iOS开发系列—Objective-C之Foundation框架

    概述 我们前面的章节中就一直新建Cocoa Class,那么Cocoa到底是什么,它和我们前面以及后面要讲的内容到底有什么关系呢?Objective-C开发中经常用到NSObject,那么这个对象到底 ...

  9. Foundation框架-NSString和NSMutableString

    可变与不可变的字符串 --1-- Foundation框架介绍 1.1 框架介绍 --2-- NSString 2.1 NSString介绍及使用 2.2 NSString创建方式  2.3 从文件中 ...

随机推荐

  1. PHP的serialize序列化数据与JSON格式化数据

    serialize序列化 我们在一些老的WEB系统中可能会看到在数据库或在文本文件中存储着一大串貌似有着特殊含义的字符串文本内容.我们仔细看会发现它具有数据类型和结构等信息,但是它并不容易人工阅读,它 ...

  2. php组成数组

    每次向数据库取5条数据,不足5条就不显示 $z = (int)(count($data) / 5);for ($ii = 1; $ii <= $z; $ii++) { foreach ($dat ...

  3. ubuntu 15.04 联网提示:wifi已通过硬件开关禁用

    执行以下命令: echo "options asus_nb_wmi wapf=4"| sudo tee /etc/modprobe.d/asus_nb_wmi.conf 重启

  4. RCNN--对象检测的又一伟大跨越

    最近在实验室和师兄师姐在做有关RCNN的研究,发现这里面坑很深呀,在网上找了一个大牛的博客,准备下来继追OPENCV同时,再来追一个RCNN的学习笔记的博文,博文地址如下:http://blog.cs ...

  5. [Effective JavaScript 笔记]第7章:并发--个人总结

    前言 这一章的内容学到了事件队列和异步的API.js只是运行在其他应用程序的脚本语言.js即依赖于应用程序,也独立与应用程序.可以使它可以在多平台,多种环境上运行.ECMAScript标准中没有关于并 ...

  6. 二叉树JAVA实现

    为了克服对树结构编程的畏惧感和神秘感,下定决心将二叉树的大部分操作实现一遍,并希望能够掌握二叉树编程的一些常用技术和技巧.关于编程实现中的心得和总结,敬请期待!~ [1]  数据结构和表示: 二叉树的 ...

  7. Dinic算法模板

    详解:http://blog.csdn.net/wall_f/article/details/8207595 算法时间复杂度:O(E * V * V) #include <cstdio> ...

  8. RSA算法基础详解

    . 首页 博客园 联系我 前言:在RSA诞生之前. RSA算法. 质数与互质数. 模运算. 同余. 欧拉函数. 欧拉定理与模反元素. 真实的例子. 计算密钥. 密钥组成与加解密公式. 安全性. 一点感 ...

  9. 用jxl解析excel内容

    需要导入jxl.jar 下方表格为excel中内容: 序号 姓名 性别 生日 地址 1 测试1 男 1990-1-1 北京朝阳区 2 测试2 女 1998-2-2 北京海淀 3 测试3 男 1999- ...

  10. php实战正则表达式:验证手机号

    摘自http://www.tuicool.com/articles/MFNZRzu 本文通过逐步完善一个验证手机号的正则表达式来介绍了正则表达式中的 字符组 .量词 . 字符串起始/结束位置 . 分组 ...