Objective-C( Foundation框架 一 字符串)
Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值。而NSMutableString 创建赋值以后可以动态在该字符串上更改内容与长度。
// 创建字符串
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"];
字符串中删除元素
//创建字符串
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框架 一 字符串)的更多相关文章
- Objective - c Foundation 框架详解2
Objective - c Foundation 框架详解2 Collection Agency Cocoa provides a number of collection classes such ...
- Objective-C语言Foundation框架
Mac OS X开发会使用Cocoa框架,它是一种支持应用程序提供丰富用户体验的框架,它实际上由:Foundation和Application Kit(AppKit)框架组成.iOS开发,会使用Coc ...
- OC 知识:Foundation 框架及相关类详尽总结
本文用来介绍Foundation框架的相关知识,以及Foundation框架所提供类的相关知识总结. 1. 框架介绍 框架是由很多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使开发程序变得更加 ...
- Foundation框架—字符串
Foundation框架—字符串 一.Foundation框架中一些常用的类 字符串型: NSString:不可变字符串 NSMutableString:可变字符串 集合型: 1) NSArray:O ...
- 李洪强iOS之Foundation框架—字符串
Foundation框架—字符串 一.Foundation框架中一些常用的类 字符串型: NSString:不可变字符串 NSMutableString:可变字符串 集合型: 1) NSArray:O ...
- OC Foundation框架—字符串
一.Foundation框架中一些常用的类 字符串型: NSString:不可变字符串 NSMutableString:可变字符串 集合型: 1) NSArray:OC不可变数组 NSMutableA ...
- Objective-C( Foundation框架 一 常见的结构体)
常见的结构体 (NSPoint,CGPoint).(NSRange,CGRange).(NSSize,CGSize) 苹果官方推荐使用CG开头的结构体 NSRange是Foundation框架中常见的 ...
- iOS开发系列—Objective-C之Foundation框架
概述 我们前面的章节中就一直新建Cocoa Class,那么Cocoa到底是什么,它和我们前面以及后面要讲的内容到底有什么关系呢?Objective-C开发中经常用到NSObject,那么这个对象到底 ...
- Foundation框架-NSString和NSMutableString
可变与不可变的字符串 --1-- Foundation框架介绍 1.1 框架介绍 --2-- NSString 2.1 NSString介绍及使用 2.2 NSString创建方式 2.3 从文件中 ...
随机推荐
- svg学习(二)
svg嵌入html有以下3种方式: OBJECT < object data = " rect.svg " width = " 300 " heigh ...
- Leetcode: Can I Win
In the "100 game," two players take turns adding, to a running total, any integer from 1.. ...
- 1.Cookie的定义和分类,及优缺点
定义:用户请求网页,连接服务器,服务器在用户机上寻找属于它的cookie文件,如果有,就读取它的信息,如果没有就创建一个cookie文件发送给用户,存储在本地,用户可以通过浏览器选项设置是否接收服务器 ...
- html drag 拖拽用法和注意事项
1.拖拽过程中的事件暂时jQuery里还没有,只能通过html DOM 来进行绑定,不然无法获取dataTransfer对象 2.在dragstart .dragover 等事件中可以用 evt.pr ...
- PAT乙级 1033. 旧键盘打字(20)
1033. 旧键盘打字(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 旧键盘上坏了几个键,于是在敲一段文 ...
- debuggee python
my_debugger_defines.py #encoding:utf-8 from ctypes import * from sys import version as py_ver # In p ...
- size()
jQuery 对象中元素的个数. 当前匹配的元素个数.与length将返回相同的值. 示例 描述: 计算文档中所有图片数量 HTML 代码: <img src="test1.jpg&q ...
- GAT2.0使用文档(组合接口测试)
3.2接口用例场景组件 在此之前,大家应该都已经开发完成了一个最简单的接口测试用例,但是之前的接口用例的期望结果是固定值,不能动态的去做对比,有很大局限性.下面开始介绍怎样通过场景组件来动态对测试结果 ...
- 关于.net编译时目标生成平台
x86: 将程序集编译为由兼容 x86 的 32 位公共语言运行库运行. x64: 将程序集编译为由支持 AMD64 或 EM64T 指令集的计算机上的 64 位公共语言运行库运行. anycpu:( ...
- Bootstrap_响应式网格系统
首先添加CSS样式: [class *= col-]{ background-color: #eee; border: 1px solid #ccc; } [class *= col-] [class ...