--实例化方法-------------- 
NSString *str = [[NSString alloc] init]; 
NSString *str = [[[NSString alloc] init] autorelease];

注意:在NSString 中存在自己的实例化和初始化的方法 例如: 
NSString *str1 = [NSString stringWithCString:"new String" enconding: NSACIIStringEncoding]; 
NSString *str2 = [NSString alloc] initWithCString:"new String" enconding: NSACIIStringEncoding]; 
str1和str2两个对象是相同的。

--NSStringEncoding 中常用的字符编码---------------- 
     NSASCIIStringEncoding 
     NSUTF8StringEncoding 
     NSUnicodeStringEncoding

--NSString创建实例---------------- 
带“@”符号的方法只能定义含有英文和数字的NSString实例,例如: 
NSString *str = "Hello money~"; 
--生成含有中文的NSString方法------------- 
//此方法自动释放内存 
+ (id)stringWithCString:(const char*)cString encoding:(NSStringEncoding)encoding; 
//进行alloc后进行初始化 
- (id)initWithCString:(const char*)cString encoding:(NSStringEncoding)encoding; 
例如: 
NSString *string = [NSString stringWithCString:"您好" encoding:NSUTF8StringEncoding]; 
NSString *string = [[NSString alloc] initWithCString:"您好" encoding:NSUTF8StringEncoding];

--使用格式创建字符串------------- 
+ (id)stringWithFormat:(NSString *)format... 
- (id)initWithFormat:(NSString *)format... 
例如: 
NSString *str = "hello"; 
NSString *string = [NSString stringWithFormat:@"%@ world",str]; 
NSLog(string); 结果:hello world 
--常用的替换符-------------- 
%@ NSString实例 
%d,%D,%i 整数 
%u,%U 无符号整数 
%x 将无符号整数以十六进制小写字母显示 
%X 将无符号整数以十六进制大写字母显示 
%f 小数 
%c 字符 
%s C语言字符串 
%% 显示%字符本身

-------------------------- 
NSRange

--NSRange的定义 
typedef struct _NSRange 

     unsigned int location; 
     unsigned int length; 
}NSRange;

NSMakeRange函数 
--这个函数比较特殊 返回一个NSRange的对象。 
NSMakeRanger(unsigned int location,unsigned int length); 
例如: 
NSRange range = NSMakeRanger(0,5); 
NSLog(@"location is %d,length is %d",range.location,range.length);

--------------------------- 
计算字符串长度 
- (unsigned int)length;

--------------------------- 
字符串连接,插入和删除 
1、连接 
- (NSString *)stringByAppendingString:(NSString *)string; 
- (NSString *)stringByAppendingFormat:(NSString *)format...; 
例如: 
     NSString *str1 = @"hello"; 
     NSString *str2 = @"world"; 
     NSString *str3 = [str1 stringByAppendingString:str2]; 
     NSString *str4 = [str2 stringByAppendingFormat:@"%d...%d",10,20]; 
     str4 --> world 10...20 
    
     ----------------- 
     NSMutableString的生成 
     NSString   + (id)string;  //生成空字符串的实例 
     + (id)stringWithString:(NSString *)string;     //带自动释放内存 
     - (id)initWithString:(NSString *)string; 
     例如: 
     NSMutableString *string = [NSMutableString stringWithString:@"hello"]; 
2、追加字符串 
     NSMutableString 
     + (void)appendString:(NSString *)string; 
     - (void)appendFormat:(NSString *)format...; 
     例如: 
     NSMutableString string = [NSMutableString string]; 
     [string appendString:@"hello"]; 
     [string appendString:@"money"]; 
     [string appendString:@" and world"]; 
3、插入字符串 
     NSMutableString 
     + (void)insertString:(NSString *)string atIndex:(unsigned)index; 
     从index位置插入字符串 
     例如: 
     NSMutableString *string = [NSMutableString stringWithString:@"Mac X"]; 
     [string insertString:@"OS" atIndex:4]; 
     string --> Mac OS X 
4、删除字符串 
     NSMutableString 
     + (void)deleteCharactersInRange:(NSRange)range; 
     例如: 
     NSMutableString *string = [NSMutableString stringWithString:@"Mac os"]; 
     [string deleteCharactersInRange:NSMakeRanger(0,1)]; 
     NSLog(string); 
     string -->ac os; 
5、字符串比较 
     NSString 
     - (BOOL)isEqualToString:(NSString *)string; 
6、比较前置串和后置串 
     NSString 
     - (BOOL)hasPrefix:(NSString *)string; 
     - (BOOL)hasSuffix:(NSString *)string; 
     例如: 
     NSString *str1 = @"Mac OS"; 
     NSString *str2 = @"Mac Pro"; 
     BOOL flag; 
     flag = [str1 hasPrefix:@"Mac"];  YES 
     flag = [str2 hasSuffix:@"OS"];      NO 
7、字符串检索 
     NSString 
     //如果找到就返回范围,否则NSRange的location项被设置为NSNotFound 
     - (NSRange)rangeOfString:(NSString *)subString; 
     - (NSRange)rangeOfString:(NSString *)subString option:(unsigned)mask; 
     - (NSRange)rangeOfString:(NSString *)subString option:(unsigned)mask      range:(NSRange)range;                                                                                        
     -----mask常用选项列表 
     NSCaseInsensitiveSearch          不区分字母大小写 
     NSLiteralSearch          对字符串进行字节单位的比较,一般可提高检索速度 
     NSBackwardsSearch     从范围的末尾开始检索 
     NSAnchoredSearch     仅检索制定范围的前部。忽略字符串中间的检索字符 
     例如: 
     NSString *string = @"hello world"; 
     NSRange range = [string rangeOfString:@"he"]; 
     if(range.location != NSNotFound) 
     { 
          NSLog(@" location=%d,length=%d",range.location,range.length); 
     } 
8、截取字符串 
     NSString 
     - (NSString *)substringToIndex:(unsigned)index;     //返回字符串开头至index位的字符串 不包含索引位 
     - (NSString *)substringFromIndex:(unsigned)index; //返回字符串第index位至末尾的字符串 包含索引位 
     - (NSString *)substringWithRange:(NSRange)range;     //返回字符串中范围range内的字符串 包含索引位 
     例如: 
     NSString *string = [string substringWithRange:NSMakeRange(5,2)]; 
9、读取文本文件 
     NSString 
     + (id)stringWithContentsOfFile:(NSString *)path usedEncoding:(NSStringEncoding *)enc error:(NSError **)error     //自动释放内存 
    
     - (id)initWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error 
    
     例如: 
     NSString *string = [NSString stringWithContentsOfFile:@"/user/test/yw.txt" encoding:NSUTF8StringEncoding error:&error]; 
     if(string){} 
10、输出文本文件 
     NSString 
     - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError **)error 
     //参数 atomically 暂时将文件保存到辅助文件中 
     //path 
     The file to which to write the receiver. If path contains a tilde (~) character, you must expand it with stringByExpandingTildeInPath before invoking this method. 
    ----下面是网上找的例子 感谢 @chenshizero 
    //扩展路径 
    NSString *Path = @"~/NSData.txt"; 
    NSString *absolutePath = [Path stringByExpandingTildeInPath]; 
    NSLog(@"absolutePath:%@",absolutePath); 
    NSLog(@"Path:%@",[absolutePath stringByAbbreviatingWithTildeInPath]);

//文件扩展名 
    NSString *Path = @"~/NSData.txt"; 
    NSLog(@"Extension:%@",[Path pathExtension]);

NSString常用方法的更多相关文章

  1. iOS-OC-基础-NSString常用方法

    NSString常用方法和属性 //compare 比较字符串升序.相同还是降序,比较原理:首先比较第一个字符(ASCII码比较),如果是升序就为升序,如果相同比较下一个字符... NSString ...

  2. 九、Foundation框架中的NSString常用方法

    一.NSString的创建 方式1创建常量字符串 NSString *st = @"this is string!"; //这种方式创建的字符串不需要释放 方式2创建空字符串,给予 ...

  3. NSString的几种常用方法

    NSString的几种常用方法   要把 “2011-11-29” 改写成 “2011/11/29”一开始想用ios的时间格式,后来用NSString的方法搞定. [string stringByRe ...

  4. NSString的几种常用方法—韩俊强博…

    要把 "2011-11-29" 改写成 "2011/11/29"一开始想用ios的时间格式,后来用NSString的方法搞定. 1.创建NSString字符串 ...

  5. [转] NSString / NSMutableString 字符串处理,常用代码

     原文 :  http://justcoding.iteye.com/blog/1405951 Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString , ...

  6. 【转】 NSString / NSMutableString 字符串处理,常用代码 (实例)

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

  7. NSString / NSMutableString 字符串处理,常用代码 (实例)

    http://blog.csdn.net/likendsl/article/details/7417878 Objective-C 中核心处理字符串的类是 NSString 与 NSMutableSt ...

  8. 关于NSString和NSMutableString的相关用法和基本介绍

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

  9. iOS学习之Object-C语言字符串和数值

    一.使用苹果帮助文档      1.帮助文档的作用:帮助开发者快速了解系统类的功能.           1)苹果每次iOS版本的升级,都会添加或者更新大量的API,并提供相应的参考文档.       ...

随机推荐

  1. 关于网络连接方式的总结(HostOnly,NAT....)

    真实的网络结构: 最左侧的电脑左侧的线代表,如果这台电脑有网卡的话可以去连接别的电脑. 在一台Windows中用VMware来安装一个Linux系统(用虚线的都代表不是真实的) 上图中的虚拟网关在哪里 ...

  2. hdu 1394 树状数组

    思路:从后面往前面统计,每次先sum+=Sum(num[i]+1),然后在update(num[i]+1,1).这样每次Sum每次加的个数就是num[i]的逆序对个数. 每次从队首调一个元素到队尾,逆 ...

  3. Android混淆打包配置总结

    Android打包失败出现Proguard returned with error code 1. See console的错误 这个问题是由于代码混淆引起的,找不到引用包. 只需在你的proguar ...

  4. 转:nginx 从入门到精通的博文

    转:http://tengine.taobao.org/book/ Nginx开发从入门到精通   缘起 nginx由于出色的性能,在世界范围内受到了越来越多人的关注,在淘宝内部它更是被广泛的使用,众 ...

  5. 【转】web常见安全问题以及测试方法

    web安全是我们测试组一直以来作为和性能测试并驾齐驱的两个重点.开发的过程中还需要着重注意,该转义的地方转义:该屏蔽的地方屏蔽,该过滤的地方过滤等等.年底又到了,势必又有大批的发号抽奖之类的活动开发. ...

  6. Redis - 发布/订阅模式

    Redis 提供了一组命令可以让开发者实现 “发布/订阅” 模式.“发布/订阅” 可以实现进程间的消息传递,其原理是这样的: “发布/订阅” 模式中包含两种角色,分别是发布者和订阅者.订阅者可以订阅一 ...

  7. RedirectFromLoginPage和FormsAuthenticationTicket的区别

    如果你对.net身份验证不是很清晰,请看本文.本文用简单明了的语言,让你对RedirectFromLoginPage和FormsAuthenticationTicket有一个完整的认识. 1)Form ...

  8. 控制GridView中字段的长度,规范数据

    前台:   <asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridVi ...

  9. jQuery-ui treegird 使用

    在实际应用中可能会碰到不同的需求,比如会根据每行不同的参数或属性设置来设置同列不同的editor类型,这时原有的例子就显的有点太过简单,不能实现我们的需求,现在应用我在项目中的操作为例,显示下实现同列 ...

  10. poj 3616 Milking Time

                                                                                                 Milking ...