NSString 基本用法

原文:
http://www.cnblogs.com/lovekarri/articles/2380033.html
http://blog.sina.com.cn/s/blog_801997310101gipe.html
1、创建常量字符串

NSString *astring = @"This is a String!";

 2、创建空字符串,再给予赋值

NSString * astring = [[ NSString alloc ] init ];
  astring = @ "This is a String!" ;
  [ astring release ];
  NSLog (@ "astring:%@" , astring );
NSString * astring = [[ NSString alloc ] init ];
  NSLog (@ "0x%.8x" , astring );
  astring =@ "This is a String!" ;
  NSLog (@ "0x%.8x" , astring );
  [ astring release ];
  NSLog (@ "astring:%@" , astring );

  3、用initWithString方法提升速度:

NSString * astring = [[ NSString alloc ] initWithString :@ "This is a String!" ];
  NSLog (@ "astring:%@" , astring );
  [ astring release ];
4、用标准c创建字符串:initWithCString方法

char * Cstring = "This is a String!" ;
  NSString * astring = [[ NSString alloc ] initWithCString : Cstring ];
  NSLog (@ "astring:%@" , astring );
  [ astring release ];

 5、创建格式化字符串:占位符(由一个%加一个字符组成)

int i = 1 ;
int j = 2 ;
NSString * astring = [[ NSString alloc ] initWithString :[ NSString stringWithFormat :@ "%d.This is %i string!" , i , j ]];
NSLog (@ "astring:%@" , astring );
  [ astring release ];

 6、创建临时字符串

NSString * astring ;
astring = [ NSString stringWithCString : "This is a temporary string" ];
NSLog (@ "astring:%@" , astring );
7、从文件创建字符串

NSString * path = [[ NSBundlemainBundle ] pathForResource :@ "astring.text" ofType : nil ];
NSString * astring = [[ NSString alloc ] initWithContentsOfFile : path ];
NSLog (@ "astring:%@" , astring );
[ astring release ];

 8、用字符串创建字符串,并写入到文件  

NSString * astring = [[ NSString alloc ] initWithString :@ "This is a String!" ];
NSLog (@ "astring:%@" , astring );
NSString * path = @ "astring.text" ;    
[ astring writeToFile : path atomically : YES ];
[ astring release ];  

注:此路径path只只是示意,真实路径并非如此
9、用C比较:strcmp函数

char string1 [] = "string!" ;
  char string2 [] = "string!" ;
  if ( strcmp ( string1 , string2 ) == 0 )
{
      NSLog (@ "1" );
  }

10、isEqualToString方法    
复制代码

NSString * astring01 = @ "This is a String!" ;
  NSString * astring02 = @ "This is a String!" ;
  BOOL result = [ astring01 isEqualToString : astring02 ];
  NSLog (@ "result:%d" , result );

11、考虑大小写比较2个字符串

void compareString () {   
  NSComparisonResult result = [@ "bmn" compare :@ "azz" ];
    if ( result == NSOrderedSame ) {
        NSLog (@ "左 == 右" );
    } else if ( result == NSOrderedDescending ) {
        NSLog (@ "左 > 右" );
    } else if ( result == NSOrderedAscending )
    {
        NSLog (@ "左 <</span> 右" );
    }
    
}
  12、不考虑大小写比较字符串
     
     
void compareString () {   
NSComparisonResult caseInsenresult = [@ "dffA" caseInsensitiveCompare :@ "dffa" ]; if ( caseInsenresult == NSOrderedSame ) { NSLog (@ "左 == 右" ); } else if ( caseInsenresult == NSOrderedDescending ) { NSLog (@ "左 > 右" ); } else if ( caseInsenresult == NSOrderedAscending ) { NSLog (@ "左 <</span> 右" ); }
    
}
13、输出大写或者小写字符串
     
     
NSString * string1 = @ "A String" ;  
NSString * string2 = @ "String" ;  
NSLog (@ "string1:%@" ,[ string1 uppercaseString ]); //大写
NSLog(@"string2:%@",[string2 lowercaseString]);//小写
NSLog(@"string2:%@",[string2 capitalizedString]);//首字母大小

14、rangeOfString
查找字符串中是否包含其它字符串

NSString * string1 = @ "This is a string" ;
  NSString * string2 = @ "string" ;
  NSRange range = [ string1 rangeOfString : string2 ];
  int location = range . location ;
  int leight = range . length ;
  NSString * astring = [[ NSString alloc ] initWithString :[ NSString stringWithFormat :@ "Location:%i,Leight:%i" , location , leight ]];
  NSLog (@ "astring:%@" , astring );
if ( range . location == NSNotFound ) {
        NSLog (@ "str中没有找到 567" );
    } else {
        NSLog (@ "搜索范围 %@" , NSStringFromRange ( range ));
    }
    // 或者
//    if (range.length == 0 ) {
//        NSLog(@"str中没有找到 567");
//    }
[astring release];
15、substringToIndex
从字符串的开头一直截取到指定的位置,但不包括该位置的字符

NSString * string1 = @ "This is a string" ;
  NSString * string2 = [ string1 substringToIndex : 3 ];
  NSLog (@ "string2:%@" , string2 );
16、substringFromIndex
以指定位置开始(包括指定位置的字符),并包括之后的全部字符

NSString * string1 = @ "This is a string" ;
  NSString * string2 = [ string1 substringFromIndex : 3 ];
  NSLog (@ "string2:%@" , string2 );

17、substringWithRange
按照所给出的位置,长度,任意地从字符串中截取子串

NSString * string1 = @ "This is a string" ;
  NSString * string2 = [ string1 substringWithRange : NSMakeRange ( 0 , 4 )];
  NSLog (@ "string2:%@" , string2 );

18、stringWithCapacity:
按照固定长度生成空字符串

NSMutableString * String ;
  String = [ NSMutableString stringWithCapacity : 40 ];
19、-appendString与-appendFormat
把一个字符串接在另一个字符串的末尾

NSMutableString * String1 = [[ NSMutableString alloc ] initWithString :@ "This is a NSMutableString" ];
[ String1 appendString :@ ", I will be adding some character" ];
[ String1 appendFormat :[ NSString stringWithFormat :@ ", I will be adding some character" ]];
NSLog (@ "String1:%@" , String1 );
20、insertString: atIndex
在指定位置插入字符串

NSMutableString * String1 = [[ NSMutableString alloc ] initWithString :@ "This is a NSMutableString" ];
[ String1 insertString :@ "Hi! " atIndex : 0 ];
NSLog (@ "String1:%@" , String1 );
21、-setString: 

NSMutableString * String1 = [[ NSMutableString alloc ] initWithString :@ "This is a NSMutableString" ];
[ String1 setString :@ "Hello Word!" ];
NSLog (@ "String1:%@" , String1 );
22、replaceCharactersInRange: withString
用指定字符串替换字符串中某指定位置、长度的字符串

NSMutableString * String1 = [[ NSMutableString alloc ] initWithString :@ "This is a NSMutableString" ];
[ String1 replaceCharactersInRange : NSMakeRange ( 0 , 4 ) withString :@ "That" ];
NSLog (@ "String1:%@" , String1 );
23、hasPrefix
检查字符串是否以另一个字符串开头

NSString * String1 = @ "NSStringInformation.txt" ;
[ String1 hasPrefix :@ "NSString" ] = = 1 ?   NSLog (@ "YES" ) : NSLog (@ "NO" );
[ String1 hasSuffix :@ ".txt" ] = = 1 ?   NSLog (@ "YES" ) : NSLog (@ "NO" );
24、扩展路径

NSString * Path = @ "~/NSData.txt" ;
NSString * absolutePath = [ Path stringByExpandingTildeInPath ];
NSLog (@ "absolutePath:%@" , absolutePath );
NSLog(@"Path:%@",[absolutePath stringByAbbreviatingWithTildeInPath]);
25、取文件扩展名

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

  
结束!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值