OC中的那些String
/--------操作字符串--NSString(静态字符串)---------------------
NSString * a = @"a+b+c+a+b+d";
NSArray * m = [a componentsSeparatedByString:@"+"];//字符串根据某个字串拆分
NSRange x = [a rangeOfString:@"b"];//查找子字符串在总字符串的范围
NSLog(@"%lu, %lu", x.location , x.length);
NSString * r = [a stringByReplacingOccurrencesOfString:@"+" withString:@"-"];//把某个字符串替换成另一个字符串
NSLog(@"%@", r);
NSString * str = @"wo shi xiao hong jun!";
NSString * result = [str uppercaseString];//小写字母变成大写
NSLog(@"%@", result);
NSString * result1 = [str capitalizedString];//第一个单词变成大写
NSLog(@"%@", result1);
NSString * result2 = [result lowercaseString];//大写字母改为小写
NSLog(@"%@", result2);
NSString * Beijing= @"河南"; //字符串的声明
NSString * log=@"河南欢迎您a"; //[NSString stringWithFormat:@"I am '%@'", Beijing]; //字符串格式化
NSString * zhui = [Beijing stringByAppendingString:@"啦啦啦"]; //字符串追加
bool b=[Beijing isEqualToString:log]; //字符串比较
NSString * hh = @"http://www.cnblog.com";
if([hh hasPrefix:@"http"]){ //查找以http开头的字符串
NSLog(@"含有http");
}else{
NSLog(@"没有http");
}
NSString * ss = @"123";
int a = [ss intValue]; //字符串转int型
double dd = [ss doubleValue]; //字符串转double型
NSLog(@"%g", dd);
//字符串转数组
NSString * zifuchuan =@"one, two, three, four";
NSLog(@"string:%@", zifuchuan);
NSArray * array = [zifuchuan componentsSeparatedByString:@","];//用,把字符分成数字元素
// NSLog(@"array:%@", array); //输出整个数组中所有元素
NSString * value = [array objectAtIndex:0]; //取出第0个元素
NSLog(@"value:%@", value);
//数组转字符串
NSString * zifuchuan2 = [array componentsJoinedByString:@","];//用,把各个数字组成字符串
NSLog(@"zifuchuan2:%@", zifuchuan2);
//-substringToIndex: 从字符串的开头一直截取到指定的位置,但不包括该位置的字符
NSString * string1 = @"This is a string";
NSString * string2 = [string1 substringToIndex:3];
NSLog(@"string2:%@",string2);
//-substringFromIndex: 以指定位置开始(包括指定位置的字符),并包括之后的全部字符
NSString * string1 = @"This is a string";
NSString * string2 = [string1 substringFromIndex:3];
NSLog(@"string2:%@",string2);
//-substringWithRange: //按照所给出的位置,长度,任意地从字符串中截取子串
NSString * string1 = @"This is a string";
NSString * string2 = [string1 substringWithRange:NSMakeRange(0, 4)];//0带表下标,4表示长度
NSLog(@"string2:%@",string2);
//--------操作动态字符串--NSMutableString----------------------------------------------------
NSMutableString * mstr = [[NSMutableString alloc] init];
NSString * str1 = @"This is a example.";
//创建可变字符串
mstr = [NSMutableString stringWithString:str1];
//插入字符
[mstr insertString:@"very easy " atIndex:10];
//删除一些字符
[mstr deleteCharactersInRange:NSMakeRange(10,5)];
//查找并删除
NSRange substr = [mstr rangeOfString:@"example"]; //字符串查找,可以判断字符串中是否有
if (substr.location != NSNotFound) {
[mstr deleteCharactersInRange:substr];
}
//重新设置字符串
[mstr setString:@"This is string AAA"];
//替换字符串
[mstr replaceCharactersInRange:NSMakeRange(15, 2) withString:@"BBB"]; //从第15个字符串处替换掉后2个字符串
//查找第一个并替换
NSString * search = @"This is";
NSString * replace = @"An example of";
substr = [mstr rangeOfString:search];
if (substr.location != NSNotFound) {
[mstr replaceCharactersInRange:substr withString:replace]; //把第1个遇到的substr替换为replace
NSLog(@"%@", mstr);
}
//查找全部匹配的,并替换
search = @"a";
replace = @"X";
substr = [mstr rangeOfString:search];
while (substr.location != NSNotFound) {
[mstr replaceCharactersInRange:substr withString:replace];
substr = [mstr rangeOfString:search];
}
NSLog(@"%@", mstr);
OC中的那些String的更多相关文章
- java中的继承与oc中的继承的区别
为什么要使用继承? 继承的好处: (1)抽取出了重复的代码,使代码更加灵活 (2)建立了类和类之间的联系 继承的缺点: 耦合性太强 OC中的继承 1.OC中不允许子类和父类拥有相同名称的成员变量名:( ...
- Swift: 比较Swift中闭包传值、OC中的Block传值
一.介绍 开发者对匿名函数应该很清楚,其实它就是一个没有名字的函数或者方法,给人直观的感觉就是只能看到参数和返回值.在iOS开发中中,它又有自己的称呼,在OC中叫Block代码块,在Swift中叫闭包 ...
- 关于OC中直接打印结构体,点(CGRect,CGSize,CGPoint,UIOffset)等数据类型
关于OC直接打印结构体,点(CGRect,CGSize,CGPoint,UIOffset)等数据类型,我们完全可以把其转换为OC对象来进项打印调试,而不必对结构体中的成员变量进行打印.就好比我们可以使 ...
- OC中属性及方法
1.声明式属性 a.实例变量 b.声明属性 自动生成setter/getter方法 .h ->@property 属性类型 属性名; .m ...
- OC中@property属性关键字的使用(assign/weak/strong/copy)
OC中@property属性关键字的使用(assign/weak/strong/copy) 一.assign 用于 ‘基本数据类型’.‘枚举’.‘结构体’ 等非OC对象类型 eg:int.bool等 ...
- iOS开发几年了,你清楚OC中的这些东西么!!!?
iOS开发几年了,你清楚OC中的这些东西么!!!? 前言 几年前笔者是使用Objective-C进行iOS开发, 不过在两年前Apple发布swift的时候,就开始了swift的学习, 在swift1 ...
- OC中的NSNumber、NSArray、NSString的常用方法
和C语言不同,在Objective-C语言中,有单独的字符串类NSString.C语言中,string是由 char(ASCLL码)字符组成 OC中,字符串是由unichar(Unicode)字符组成 ...
- iOS开发几年了,你清楚OC中的这些东西么1
前言 几年前笔者是使用Objective-C进行iOS开发, 不过在两年前Apple发布swift的时候,就开始了swift的学习, 在swift1.2发布后就正式并且一直都使用了swift进行iOS ...
- oc中的类学习笔记1
1.oc中的类和构造方法 NSAutoreleasePool * pool =[[NSAutoreleasePool alloc] init]; NSAutoreleasePool是一个类,alloc ...
随机推荐
- CUDA代码移植
如果CUDA的代码移植,一个是要 include文件夹对不对,这个是.h文件能否找到的关键,另一个就是lib,这个是.lib文件能否找到的关键.具体检查地方,见下头. include: lib:
- 解决JettyMavenPlugin: Failed to load class "org.slf4j.impl.StaticLoggerBinder"
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</arti ...
- 为什么在soui中加载JPG文件失败
在SOUI中解决解码器是一个独立的模块.不同的解码器决定了程序中能够加载什么样的图片类型.使用SComMgr来加载SOUI的模块时,debug模式下默认的图片解码器是imgdecoder-png.这个 ...
- Python学习笔记(四)——编码和字符串
一.编码 1.编码类别: (1)ASCII码:127个字母被编码到计算机里,也就是大小写英文字母.数字和一些符号 (2)GB2312码:中国制定的用于加入中文汉字的编码 (3)Unicode:防止由于 ...
- 300ms延时
具体参考:http://www.jianshu.com/p/6e2b68a93c88 一,简单粗暴型:禁用缩放 <meta name="viewport" content=& ...
- MIT 6.828 JOS学习笔记9. Exercise 1.5
Lab 1 Exercise 5 再一次追踪一下boot loader的一开始的几句指令,找到第一条满足如下条件的指令处: 当我修改了boot loader的链接地址,这个指令就会出现错误. 找到这样 ...
- Qt quick 编程
greaterThan(QT_MAJOR_VERSION,4):QT += widgets.在Qt 5之前,没有独立的QtWidgets模块,Qt Widgets包含在QtGui模块中. TARGET ...
- BZOJ 2654 & 玄学二分+MST
题意: 给一张图,边带权且带颜色黑白,求出一棵至少包含k条白边的MST SOL: 正常人都想优先加黑边或者是白边,我也是这么想的...你看先用白边搞一棵k条边的MST...然后维护比较黑边跟白边像堆一 ...
- Leetcode Gray Code
题目的意思就是将十进制转换成格雷码 首先将二进制转换成格雷码 根据此图可以看出二进制的第i和第i+1位异或为格雷码的第i+1位,对于给定的十进制数x,其(x>>1)相当于二进制向右移动一位 ...
- BZOJ1055: [HAOI2008]玩具取名
... #include<bits/stdc++.h> using namespace std; int q[255]; char s[205]; char p[]={'W','I','N ...