/--------操作字符串--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的更多相关文章

  1. java中的继承与oc中的继承的区别

    为什么要使用继承? 继承的好处: (1)抽取出了重复的代码,使代码更加灵活 (2)建立了类和类之间的联系 继承的缺点: 耦合性太强 OC中的继承 1.OC中不允许子类和父类拥有相同名称的成员变量名:( ...

  2. Swift: 比较Swift中闭包传值、OC中的Block传值

    一.介绍 开发者对匿名函数应该很清楚,其实它就是一个没有名字的函数或者方法,给人直观的感觉就是只能看到参数和返回值.在iOS开发中中,它又有自己的称呼,在OC中叫Block代码块,在Swift中叫闭包 ...

  3. 关于OC中直接打印结构体,点(CGRect,CGSize,CGPoint,UIOffset)等数据类型

    关于OC直接打印结构体,点(CGRect,CGSize,CGPoint,UIOffset)等数据类型,我们完全可以把其转换为OC对象来进项打印调试,而不必对结构体中的成员变量进行打印.就好比我们可以使 ...

  4. OC中属性及方法

    1.声明式属性    a.实例变量    b.声明属性        自动生成setter/getter方法        .h ->@property 属性类型 属性名;        .m ...

  5. OC中@property属性关键字的使用(assign/weak/strong/copy)

    OC中@property属性关键字的使用(assign/weak/strong/copy) 一.assign 用于 ‘基本数据类型’.‘枚举’.‘结构体’ 等非OC对象类型 eg:int.bool等 ...

  6. iOS开发几年了,你清楚OC中的这些东西么!!!?

    iOS开发几年了,你清楚OC中的这些东西么!!!? 前言 几年前笔者是使用Objective-C进行iOS开发, 不过在两年前Apple发布swift的时候,就开始了swift的学习, 在swift1 ...

  7. OC中的NSNumber、NSArray、NSString的常用方法

    和C语言不同,在Objective-C语言中,有单独的字符串类NSString.C语言中,string是由 char(ASCLL码)字符组成 OC中,字符串是由unichar(Unicode)字符组成 ...

  8. iOS开发几年了,你清楚OC中的这些东西么1

    前言 几年前笔者是使用Objective-C进行iOS开发, 不过在两年前Apple发布swift的时候,就开始了swift的学习, 在swift1.2发布后就正式并且一直都使用了swift进行iOS ...

  9. oc中的类学习笔记1

    1.oc中的类和构造方法 NSAutoreleasePool * pool =[[NSAutoreleasePool alloc] init]; NSAutoreleasePool是一个类,alloc ...

随机推荐

  1. js根据不同浏览器(分辨率)调用不同css

    根据不同浏览器: <script type="text/javascript"> var version = navigator.userAgent; if (vers ...

  2. 网络知识学习1---(基础知识:ISO/OSI七层模型和TCP/IP四层模型)

    以下的内容和之后的几篇博客只是比较初级的介绍,想要深入学习的话建议自己钻研<TCP/IP详解 卷1:协议> 1.ISO/OSI七层模型    下四层是为数据传输服务的,物理层是真正的传输数 ...

  3. 【Java EE 学习 32 下】【JQuery】【JQuey中的DOM操作】

    一.JQuery中的DOM操作. 什么是DOM:DOM是一中和浏览器.平台.语言无关的接口,使用该接口可以轻松访问页面中所有的标准组件.DOM简称文档对象模型,是Document Oject Mode ...

  4. 三言两语之js事件、事件流以及target、currentTarget、this那些事

    厉害了我的哥--你是如此简单我却将你给遗忘   放假前再看某文档,里边提到两个我既熟悉又陌生的概念target.currentTarget,说他熟悉我曾经看到过这两个事件对象的异同处,说他陌生吧?很不 ...

  5. freemarker内置函数和用法

    原文链接:http://www.iteye.com/topic/908500 在我们应用Freemarker 过程中,经常会操作例如字符串,数字,集合等,却不清楚Freemrker 有没有类似于Jav ...

  6. iTextSharp简单生成pdf和操作pdf添加水印

    遇到需要导出页面到pdf,并添加pdf水印的业务.稍微研究了下,借阅网友的前车之鉴,经过使用可行之后的代码贴出来,做个记录,也供需要的网友借阅. public class PDFSetWaterMar ...

  7. MyBatis - MyBatis Generator 生成的example 如何使用 and or 简单混合查询

    简单介绍: Criteria,包含一个Cretiron的集合,每一个Criteria对象内包含的Cretiron之间是由AND连接的,是逻辑与的关系. oredCriteria,Example内有一个 ...

  8. ByteBuf和相关辅助类

    当我们进行数据传输的时候,往往需要使用到缓冲区,常用的缓冲区就是JDK NIO类库提供的java.nio.Buffer. 实际上,7种基础类型(Boolean除外)都有自己的缓冲区实现,对于NIO编程 ...

  9. Gym100947E || codeforces 559c 组合数取模

    E - Qwerty78 Trip Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u S ...

  10. type of 操作符和instanceof操作符的区别以及使用方法

    经常见到用typeof和instanceof检测一个变量类型,作为前端小白经常不知道这两者具体的详细用法和区别,今天就整理一下谨记! javaScript中有6中数据类型: 1.Undefinde 2 ...