zoukankan      html  css  js  c++  java
  • NSString常用方法

    NSString 

    --实例化方法-------------- 
    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 withstringByExpandingTildeInPath 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]); 

  • 相关阅读:
    一起谈.NET技术,.NET分布式架构开发实战之一 故事起源 狼人:
    JS替换节点
    mysql数据库的简单语句的介绍(1)
    JS对img进行操作
    POJ 1006 Biorhythms 数论(孙子定理)
    Tomcat与Jetty插件 配置根路径指定项目
    [置顶] cocos2dx 2.x版本之win32 window移植android 环境搭配 只用NDK 超级详细 android 环境搭配
    调频广播六十年
    ajax两个网页实现完美的 分页功能
    Cocos2dX数据、动作、消息的基本操作
  • 原文地址:https://www.cnblogs.com/daguo/p/2916771.html
Copyright © 2011-2022 走看看