iOS开发-OC语言 (三)字符串
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 24.0px "PingFang SC" }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Helvetica; min-height: 29.0px }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px "PingFang SC" }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Helvetica }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px "PingFang SC"; color: #323333 }
p.p6 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Helvetica; color: #323333 }
p.p7 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Helvetica; color: #323333; min-height: 29.0px }
p.p8 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Arial; color: #323333 }
p.p9 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px "Times New Roman"; color: #323333; min-height: 27.0px }
p.p10 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px "Times New Roman"; min-height: 27.0px }
p.p11 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px "Heiti SC Light" }
p.p12 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Helvetica; color: #1d9421 }
p.p13 { margin: 0.0px 0.0px 0.0px 0.0px; font: 20.0px Menlo; color: #11053b }
p.p14 { margin: 0.0px 0.0px 0.0px 0.0px; font: 20.0px Menlo }
p.p15 { margin: 0.0px 0.0px 0.0px 0.0px; font: 20.0px Menlo; color: #1d9421 }
p.p16 { margin: 0.0px 0.0px 0.0px 0.0px; font: 20.0px "Times New Roman"; min-height: 23.0px }
p.p17 { margin: 0.0px 0.0px 0.0px 0.0px; font: 20.0px Menlo; color: #e32400 }
p.p18 { margin: 0.0px 0.0px 0.0px 0.0px; font: 20.0px Menlo; color: #e32400; min-height: 24.0px }
p.p19 { margin: 0.0px 0.0px 0.0px 0.0px; font: 20.0px "Heiti SC Light" }
p.p20 { margin: 0.0px 0.0px 0.0px 0.0px; font: 20.0px Menlo; color: #3d1d81 }
p.p21 { margin: 0.0px 0.0px 0.0px 0.0px; font: 20.0px "Heiti SC Light"; color: #1d9421 }
p.p22 { margin: 0.0px 0.0px 0.0px 0.0px; font: 20.0px Menlo; min-height: 24.0px }
p.p23 { margin: 0.0px 0.0px 0.0px 0.0px; font: 20.0px Menlo; color: #b51a00 }
p.p24 { margin: 0.0px 0.0px 0.0px 0.0px; font: 20.0px Menlo; color: #c91b13 }
span.s1 { }
span.s2 { font: 24.0px "PingFang SC" }
span.s3 { font: 24.0px Helvetica }
span.s4 { font: 24.0px Helvetica; color: #000000 }
span.s5 { font: 24.0px "Heiti SC Light" }
span.s6 { font: 24.0px Arial; color: #136ec2 }
span.s7 { color: #136ec2 }
span.s8 { font: 24.0px "Heiti SC Light"; color: #136ec2 }
span.s9 { font: 24.0px "Heiti SC Light" }
span.s10 { font: 24.0px "Times New Roman" }
span.s11 { font: 24.0px Helvetica }
span.s12 { font: 24.0px "Times New Roman"; color: #000000 }
span.s13 { color: #000000 }
span.s14 { font: 20.0px Menlo }
span.s15 { font: 20.0px "Heiti SC Light" }
span.s16 { color: #3d1d81 }
span.s17 { color: #11053b }
span.s18 { color: #6122ae }
span.s19 { font: 24.0px Helvetica; color: #000000 }
span.s20 { font: 20.0px Menlo; color: #1d9421 }
span.s21 { color: #c32275 }
span.s22 { font: 20.0px "Heiti SC Light"; color: #c91b13 }
span.s23 { color: #0435ff }
span.s24 { color: #703daa }
span.s25 { color: #c91b13 }
span.s26 { font: 20.0px "Heiti SC Light"; color: #1d9421 }
span.s27 { color: #1d9421 }
span.s28 { font: 24.0px "Heiti SC Light"; color: #000000 }
span.s29 { font: 20.0px "Heiti SC Light"; color: #0435ff }
span.s30 { font: 20.0px Menlo; color: #000000 }
span.s31 { font: 20.0px "Times New Roman" }
span.s32 { font: 20.0px "Times New Roman"; color: #000000 }
span.s33 { font: 20.0px "Apple Color Emoji"; color: #c91b13 }
span.s34 { font: 20.0px "Apple Color Emoji" }
span.Apple-tab-span { white-space: pre }
字符串
知识点
1.NSString
2.NSMutableString
3.了解NSMutableString与NSString的继承关系
了解:
1.什么是字符编码
是一套法则,使用该法则能够对自然语言的字符的一个集合(如字母表或音节表),与其他东西的一个集合(如号码或电脉 冲)进行配对。即在符号集合与数字系统之间建立对应关系。
字符编码百科:http://baike.baidu.com/link?url=bFKEidJQmo3JEljFQRbtkEyToRe1_SrqbCgNsv4jKcYGFyTBixJjhTVYegSiozPVpvrR99cQhUoQq_01BnF1L_
2.UTF8编码:UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。
========= 不可变字符串(NSString) =========
1.为什么需要NSString对象
答:在OC中创建字符串时,一般不使用C的方法,
因为C将字符串作为字符数组,所以在操作时会有很多不方便的地方,
在Cocoa中NSString集成的一些方法,可以很方便的操作字符串。
2.OC中定义字符串和C语言定义字符串
//C字符串常量
char *cString = "c字符串";
printf("c string is %s\n",cString);
//OC字符串常量
NSString *ocString = @"oc字符串";
NSLog(@"oc string is %@",ocString);
3.NSLog如何格式化NSString对象
%@
4.字符串创建
(1)定义一个空的不可变字符串(一般用不到):
NSString *string = [[NSString alloc] init];
(2)定义一个有值的字符串(一般用不到)
[NSString stringWithString:@"test"];
[[NSString alloc] initWithString:<#(NSString *)#>];
5.如何格式化一个字符串
[NSString stringWithFormat:<#(NSString *), ...#>];
6.C语言字符串和NSString的转换
<1>c字符串转化为NSString
[NSString stringWithUTF8String:c];
<2>NSString转化为C
[string UTF8String];
7.如何从文本文件中读取字符串
//第1种:
/*
stringWithContentsOfFile:要读取文件路径
encoding:编码方式
error:错误信息,可以传nil
*/
//类方法
s = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
//对象方法
[[NSString alloc] initWithContentsOfFile:<#(NSString *)#> encoding:<#(NSStringEncoding)#> error:<#(NSError *__autoreleasing *)#>];
第2种:
//把路径的字符串转化为NSURL对象
NSURL *filePath = [NSURL fileURLWithPath:path];
string = [NSString stringWithContentsOfURL:filePath encoding:NSUTF8StringEncoding error:nil];
8.如何把一个字符串写入到文件中
/*
writeToFile:要写入的文件路径(file path)
atomically:YES表示原子性,NO表示非原子性。一般是YES(比较安全),当为YES,系统在写入的过程中会创建一个临时文件,系统先把数据写入到临时文件里面,如果写入成功,最后赋值到目标文件里面。
encoding:编码,一般是UTF8(NSUTF8StringEncoding)
*/
NSError *error;
//文件不存在会自动创建
[string writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error];
9.如何从网络上读取字符串
NSURL *url = [NSURL URLWithString:远程地址];
string = [NSString stringWithContentsOfURL: url encoding:NSUTF8StringEncoding error:nil];
10.求字符串长度(一个中文长度为1)
[string length]
11.通过索引获取相应的字符
[string characterAtIndex:0]
12.字符串判断
1)判断两个字符串内容是否相同
[s1 isEqualToString:s2]
2)判断两个字符串是否是同一个对象
if (s1 == s2)
{
NSLog(@"s1和s2是同一个对象");
}
else
{
NSLog(@"s1和s2不是同一个对象");
}
13.字符串比较
1)两个字符串比较(区分大小写)
NSComparisonResult result = [s1 compare:s2];
if (result == NSOrderedAscending)
{
NSLog(@"s2 > s1");
}
else if (result == NSOrderedSame)
{
NSLog(@"s1 = s2");
}
else
{
NSLog(@"s2 < s1");
}
2)比较两个字符串(忽略大小写)
//忽略大小写
result = [s1 caseInsensitiveCompare:s2];
14.转化为基本类型(int,float,bool,double,integer)
//转化为int
[num2 intValue];
//转化为NSInteger
[num2 integerValue];
//转化为Double
[num2 doubleValue];
//float
[num2 floatValue];
//long long
[num2 longLongValue];
//bool
[num2 boolValue];
15.把一个字符串转化为大写,小写,各个单词的首字母大写
//转化为大写
NSString *upperString = [s1 uppercaseString];
NSLog(@"大写:%@",upperString);
//转化为小写
NSString *lowString = [s1 lowercaseString];
NSLog(@"小写:%@",lowString);
//各个单词的首字母大写
NSString *ss = [s1 capitalizedString];
NSLog(@"各个单词的首字母大写:%@",ss);
16. 替换字符串
[S stringByReplacingOccurrencesOfString:A withString:B];//把S中所有的A换为B
[string stringByReplacingOccurrencesOfString:@"l3l" withString:@"s"];
17.分割一个字符串,转化为数组
[string componentsSeparatedByString:@“分隔符”];
18.字符串截取
//从指定索引截取到最后
NSString *subString = [string substringFromIndex:起始索引];
//从开始截取到指定的索引之前
subString = [string substringToIndex:终止索引(不包括当前索引)]’
//截取字符串的一部分
//范围
NSRange range = NSMakeRange(2, 3);
[string substringWithRange:range];
19.字符串拼接
(1)拼接一个字符串
[str1 stringByAppendingString:str2]
(2)拼接一个格式化字符串
[str1 stringByAppendingFormat:@" %@",str2]
20.查找字符串
//[string rangeOfString:要查找的字符串]
//只会查找第一次出现的字符串,从前向后查找
range = [string rangeOfString:@"test"];
NSLog(@"%ld - %ld",range.location,range.length);
/*
NSCaseInsensitiveSearch 不区分大小写
NSLiteralSearch 区分大小写
NSBackwardsSearch 从后向前查找
*/
range = [string rangeOfString:@"test" options:NSBackwardsSearch];
NSLog(@"%ld - %ld",range.location,range.length);
21.判断一个字符串是否以某个前缀或者后缀
//判断是否以某个字符串前缀开头
[string hasPrefix:@"he22"]
//判断是否以某个字符串前缀结尾
[string hasSuffix:@"ds"];
22.路径
1)路径后面追加一个文件名或者路径(网络会用到)
[path stringByAppendingPathComponent:文件名或者文件夹名字];
2)把指定的字符串数组拼接成路径
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"Users",@"qianfeng",@"desktop",@"新建文件夹", nil];
newPath = [NSString pathWithComponents:array];
3)将路径分割成字符串数组
NSArray *components = [path pathComponents];
4)判断是否是绝对路径
BOOL isAbsolutePath = [path isAbsolutePath];
5)获取最后一个目录或者文件名
//取路径的最后一部分
NSString *s = [path lastPathComponent];
6)删除路径最后一部分
[path stringByDeletingLastPathComponent];
7)获取文件后缀
[path pathExtension]
8)删除后缀
[path stringByDeletingPathExtension];
9)添加后缀
[path stringByAppendingPathExtension:@"png"];
.
========= 可变字符串(NSMutableString) =========
1.初始化可变字符串(必须初始化)
NSMutableString *string = [[NSMutableString alloc] init];
string = [NSMutableString string];
2.初始化带有字符串的可变字符串
[NSMutableString stringWithString:@"sss"];
3.设置字符串
//设置字符串(会覆盖原来字符串内容)
[string setString:@"测试"];
4.在指定的位置插入字符串
[string insertString:@“要插入的字符串” atIndex:插入字符串的下标];
5.追加一个部分字符串(在最后追加)
[string appendString:@"
iOS开发-OC语言 (三)字符串的更多相关文章
- iOS开发-OC语言 (一)oc数据类型
分享一套以前学习iOS开发时学习整理的资料,后面整套持续更新: oc数据类型 数据类型:基本数据类型.指针数据类型 基本数据类型:数值型.字符型(char).布尔型.空类型(void) 指针数据类型: ...
- iOS开发-OC语言 (四)数组
知识点 1.NSArray 2.NSMutableArray 1.数组的基本用法: 2.数组的遍历 3.数组排序 =========== NSArray 不可变数组 ============= ...
- iOS开发-OC语言 (七)继承、多态、类别
继承.多态.类别 学习目标 1.继承的含义 2.父类子类的别称 3.字段和消息的继承 4.重写和重写消息的调用 5.多态 6.类别(Category) ======================== ...
- iOS开发-OC语言 (二)类的设计
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Helvetica } p.p2 { margin: 0.0px 0.0px 0.0px 0. ...
- iOS开发-OC语言 (六)点语法和@property
点语法和@property 知识点 1.setter/getter函数 2.点语法 3.@property语法和属性 ======================================== ...
- iOS开发-OC语言 (五)字典
字典 主要知识点: 1.NSDictionary 类 2.NSMutableDictionary 类 3.了解NSMutableDictionary 与 NSDictionary 的继承关系 4.补充 ...
- 李洪强iOS开发Swift篇—03_字符串和数据类型
李洪强iOS开发Swift篇—03_字符串和数据类型 一.字符串 字符串是String类型的数据,用双引号""包住文字内容 let website = "http:// ...
- iOS开发OC基础:Xcode中常见英文总结,OC常见英文错误
在开发的过程中难免会遇到很多的错误,可是当看到系统给出的英文时,又不知道是什么意思.所以这篇文章总结了Xcode中常见的一些英文单词及词组,可以帮助初学的人快速了解给出的提示.多练习,就肯定能基本掌握 ...
- Android与Swift iOS开发:语言与框架对比
Swift是现在Apple主推的语言,2014年新推出的语言,比Scala等“新”语言还要年轻10岁.2015年秋已经开源.目前在linux上可用,最近已经支持Android NDK:在树莓派上有Sw ...
随机推荐
- 【通过操作指针,与指针做函数參数'实现字串在主串中出现的次数,然后将出现的部分依照要求进行替换
】
#include<stdio.h> #include<stdlib.h> int strTime(const char *str1, const char *str2, int ...
- C#快速随机按行读取大型文本文件
原文:C#快速随机按行读取大型文本文件 下面是我实现的一个数据文件随机读取类,可以随机读取大型文本文件的某一行.在我机器上对一个130MB的文本文件,读取第200000的速度从传统做法的400ms提高 ...
- MY WAY程序(十八) 团队开发
1.通信知识 要了解的强哥的移动通信先验知识布局.我和另外一个毕业生有自己的学习,但我真的没有认真看.了解了一下,其余大部分时间在搞nodejs.另外一个应届毕业生则是按着一本电子书 ...
- Metadata是.NET平台的核心灵魂--(转载)
(转载)Metadata是.NET平台的核心灵魂 July 7th, 2010 jzli Leave a comment Go to comments 网友来信:李老师,您好!我参加过你去年到我们公司 ...
- Date与SimpleDateFormat
Date常用的方法 返回类型 方法名称 备注 Date New Date() 创建当前日期对象 Date New date(long dt) 使用自1970.1.1以后的指定毫秒数创建日期 boole ...
- Visual Studio 2013发布Cloud Service至Azure China
Visual Studio 2013发布Cloud Service至Azure China <Windows Azure Platform 系列文章目录> 之前有很多网友询问我如何通过VS ...
- angularjs + seajs构建Web Form3
angularjs + seajs构建Web Form前端(三) -- 兼容easyui 回顾 在上一章中使用了angular实现了ajax form和树形结构,经过以上两章对于angular的大致使 ...
- Glue4Net简单部署基于win服务的Socket程序
smark 专注于高并发网络和大型网站架规划设计,提供.NET平台下高吞吐的网络通讯应用技术咨询和支持 Glue4Net简单部署基于win服务的Socket程序 在写一些服务应用的时候经常把要它部署到 ...
- [转]编译 JavaScriptCore For iOS
from: http://phoboslab.org/log/2011/06/javascriptcore-project-files-for-ios github: https://github.c ...
- 如何去除AJAX收到数据中包含的html页面数据
问题: 如下代码所示,我用AJAX收到来自url: 'kzkj_check.jsp',返回的数据msg,总是包含页面的html数据,可是我只想要我返回的数据“false”, $.ajax({ url: ...