zoukankan      html  css  js  c++  java
  • string的使用方法

    注:小编在技术上还是有很大的纰漏,发表此博客希望各位有路过的大牛人物给予评论,给于指正,小编在此非常感谢!此文章为小编自己做的笔记,有不当之处望请指出,小编很是感谢,若用于一些抄袭的勾当,出现一些不可挽回的问题,小编在此声明不负任何责任;

    创建字符串。 

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

    创建空字符串,给予赋值。 

    1. NSString *astring = [[NSString alloc] init];  
    2. astring = @"This is a String!";  
    3. NSLog(@"astring:%@",astring);  
    4. string release]; 

    使用变量初始化 

    1. NSString *name = @"Ivan!";  
    2. NSString *astring = [[NSString stringWithFormat:@”My name is %@!”,name]];  
    3. NSLog(@"astring:%@",astring); 

    判断是否包含某字符串 

    检查字符串是否以另一个字符串开头

    1. - (BOOL) hasPrefix: (NSString *) aString;  
    2. NSString *String1 = @"NSStringInformation.txt";  
    3. [String1 hasPrefix:@"NSString"] == 1 ?  NSLog(@"YES") : NSLog(@"NO");  
    4. [String1 hasSuffix:@".txt"] == 1 ?  NSLog(@"YES") : NSLog(@"NO"); 

    是否包含其它字符 

    1. NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];  
    2. Boolean contains = [astring rangeOfString:@”This”].length>0; 

    从文件读取字符串:

    1. initWithContentsOfFile方法     
    2. NSString *path = @"astring.text";  
    3. NSString *astring = [[NSString alloc] initWithContentsOfFile:path];  
    4. NSLog(@"astring:%@",astring);  
    5. [astring release]; 

    写字符串到文件:writeToFile方法  

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

    比较两个字符串   

    isEqualToString方法     

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

    compare方法(comparer返回的三种值)

    1. NSString *astring01 = @"This is a String!";  
    2. NSString *astring02 = @"This is a String!";      
    3. BOOL result = [astring01 compare:astring02] = = NSOrderedSame;      
    4. NSLog(@"result:%d",result);     

    NSOrderedSame判断两者内容是否相同 

    1. NSString *astring01 = @"This is a String!";  
    2. NSString *astring02 = @"this is a String!";  
    3. BOOL result = [astring01 compare:astring02] = = NSOrderedAscending;      
    4. NSLog(@"result:%d",result); 

    不考虑大小写比较字符串1 

    1. NSString *astring01 = @"this is a String!";   
    2. NSString *astring02 = @"This is a String!";   
    3. BOOL result = [astring01 caseInsensitiveCompare:astring02] = = NSOrderedSame;       
    4. NSLog(@"result:%d",result);       

    改变字符串的大小写  

    1. NSString *string1 = @"A String";   
    2. NSString *string2 = @"String";   
    3. NSLog(@"string1:%@",[string1 uppercaseString]);//大写  
    4. NSLog(@"string2:%@",[string2 lowercaseString]);//小写  
    5. NSLog(@"string2:%@",[string2 capitalizedString]);//首字母大小  

    在串中搜索子串      

    1. NSString *string1 = @"This is a string";  
    2. NSString *string2 = @"string";  
    3. NSRange range = [string1 rangeOfString:string2];  
    4. int location = range.location;  
    5. int leight = range.length;  
    6. NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"Location:%i,Leight:%i",location,leight]];  
    7. NSLog(@"astring:%@",astring);  
    8. [astring release];  

    替换字符串  

    1. NSString *astring01 = @"hello 中国";  
    2. NSString * new = [astring01 stringByReplacingOccurrencesOfString:@”中国” withString:@"北京"];    
    3. NSLog(new);    

    分割字符串成数组  

    1. NSString *s = @"a b d e f";  
    2. NSArray *arr = [s componentsSeparatedByString:@" "];  
    3. NSLog(@"count = %d",[arr count]);  

    字符串数组拼接成字符串 

    1. NSArray *pathArray = [NSArray arrayWithObjects:@"here", @"be", @"dragons", nil];    
    2. NSLog(@"%@",[pathArray componentsJoinedByString:@""]);    

    抽取子串      

    -substringToIndex: 从字符串的开头一直截取到指定的位置,但不包括该位置的字符 

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

    -substringFromIndex: 以指定位置开始(包括指定位置的字符),并包括之后的全部字符 

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

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

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

    二、NSMutableString

    给字符串分配容量

    1. //stringWithCapacity:  
    2. NSMutableString *String;  
    3. String = [NSMutableString stringWithCapacity:40];  

    在已有字符串后面添加字符

    1. //appendString: and appendFormat:  
    2. NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];  
    3. //[String1 appendString:@", I will be adding some character"];  
    4. [String1 appendFormat:[NSString stringWithFormat:@", I will be adding some character"]];  
    5. NSLog(@"String1:%@",String1);

    在已有字符串中按照所给出范围和长度删除字符

    1. //deleteCharactersInRange:  
    2. NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];  
    3. [String1 deleteCharactersInRange:NSMakeRange(0, 5)];  
    4. NSLog(@"String1:%@",String1);  

    在已有字符串后面在所指定的位置中插入给出的字符串

    1. //-insertString: atIndex:  
    2. NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];  
    3. [String1 insertString:@"Hi! " atIndex:0];  
    4. NSLog(@"String1:%@",String1);  

    将已有的换成其它的字符串

    1. //-setString:  
    2. NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];  
    3. [String1 setString:@"Hello Word!"];  
    4. NSLog(@"String1:%@",String1);  

    按照所给出的范围,和字符串替换的原有的字符

    1. //-setString:  
    2. NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];  
    3. [String1 replaceCharactersInRange:NSMakeRange(0, 4) withString:@"That"];  
    4. NSLog(@"String1:%@",String1);  

    三、NSArray

    创建数组

    1. NSArray *array = [[NSArray alloc] initWithObjects:   
    2. @"One",@"Two",@"Three",@"Four",nil];   
    3. self.dataArray = array;   
    4. [array release];   
    5. //- (unsigned) Count;数组所包含对象个数;   
    6. NSLog(@"self.dataArray cound:%d",[self.dataArray count]);   
    7. //获取指定索引处的对象  
    8. NSLog(@"self.dataArray cound 2:%@",[self.dataArray objectAtIndex:2]);   

    从一个数组拷贝数据到另一数组

    1.  //arrayWithArray:  
    2.  //NSArray *array1 = [[NSArray alloc] init];  
    3.  NSMutableArray *MutableArray = [[NSMutableArray alloc] init];  
    4. NSArray *array = [NSArray arrayWithObjects:  
    5. @"a",@"b",@"c",nil];  
    6. NSLog(@"array:%@",array);  
    7. MutableArray = [NSMutableArray arrayWithArray:array];  
    8. NSLog(@"MutableArray:%@",MutableArray);  
    9. array1 = [NSArray arrayWithArray:array];  
    10. NSLog(@"array1:%@",array1);  
    11. //Copy  
    12. //id obj;  
    13. NSMutableArray *newArray = [[NSMutableArray alloc] init];  
    14. NSArray *oldArray = [NSArray arrayWithObjects:  
    15. @"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];  
    16. NSLog(@"oldArray:%@",oldArray);  
    17. for(int i = 0; i < [oldArray count]; i++)  
    18.      {          
    19.          obj = [[oldArray objectAtIndex:i] copy];  
    20.          [newArray addObject: obj];  
    21.      }  
    22.      //       
    23.      NSLog(@"newArray:%@", newArray);  
    24.      [newArray release];  

    快速遍历数组

    1.      //NSMutableArray *newArray = [[NSMutableArray alloc] init];  
    2.      NSArray *oldArray = [NSArray arrayWithObjects:  
    3. @"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];      
    4.      NSLog(@"oldArray:%@",oldArray);  
    5.      for(id obj in oldArray)  
    6.      {  
    7.          [newArray addObject: obj];  
    8.      }  
    9.      //       
    10.      NSLog(@"newArray:%@", newArray);  
    11.      [newArray release];      
    12.  Copy and sort  
    13.      //NSMutableArray *newArray = [[NSMutableArray alloc] init];  
    14.      NSArray *oldArray = [NSArray arrayWithObjects:  
    15. @"b",@"a",@"e",@"d",@"c",@"f",@"h",@"g",nil];      
    16.      NSLog(@"oldArray:%@",oldArray);  
    17.      NSEnumerator *enumerator;  
    18.      enumerator = [oldArray objectEnumerator];  
    19.      id obj;  
    20.      while(obj = [enumerator nextObject])  
    21.      {  
    22.          [newArray addObject: obj];  
    23.      }  
    24.      [newArray sortUsingSelector:@selector(compare:)];  
    25.      NSLog(@"newArray:%@", newArray);  
    26.  [newArray release];  
    27.  NSMutableArray  

    给数组分配容量

    1. //NSArray *array;  
    2. array = [NSMutableArray arrayWithCapacity:20];  

    在数组末尾添加对象

    1. //- (void) addObject: (id) anObject;  
    2. //NSMutableArray *array = [NSMutableArray arrayWithObjects:  
    3. @"One",@"Two",@"Three",nil];  
    4. [array addObject:@"Four"];  
    5. NSLog(@"array:%@",array);  

    删除数组中指定索引处对象

    1. //-(void) removeObjectAtIndex: (unsigned) index;      
    2. //NSMutableArray *array = [NSMutableArray arrayWithObjects:  
    3. @"One",@"Two",@"Three",nil];  
    4. [array removeObjectAtIndex:1];  
    5. NSLog(@"array:%@",array);  

    数组枚举

    从前向后

    1. //NSMutableArray *array = [NSMutableArray arrayWithObjects:  
    2. @"One",@"Two",@"Three",nil];  
    3. NSEnumerator *enumerator;  
    4. enumerator = [array objectEnumerator];  
    5. id thingie;  
    6. while (thingie = [enumerator nextObject]) {  
    7.     NSLog(@"thingie:%@",thingie);  
    8. }  

    从后向前

    1. NSMutableArray *array = [NSMutableArray arrayWithObjects:  
    2.     @"One",@"Two",@"Three",nil];  
    3.     NSEnumerator *enumerator;  
    4.     enumerator = [array reverseObjectEnumerator];  
    5.     id object;  
    6.     while (object = [enumerator nextObject]) {  
    7.         NSLog(@"object:%@",object);  
    8.     }  

    快速枚举

    1.     //NSMutableArray *array = [NSMutableArray arrayWithObjects:  
    2.     @"One",@"Two",@"Three",nil];  
    3.     for(NSString *string in array)  
    4.     {  
    5.         NSLog(@"string:%@",string);  
    6.     }  
    7. NSDictionary  

    创建字典

    1. //- (id) initWithObjectsAndKeys;  
    2. ctionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"One",@"1",@"Two",@"2",@"Three",@"3",nil];  
    3. NSString *string = [dictionary objectForKey:@"One"];  
    4. NSLog(@"string:%@",string);  
    5. NSLog(@"dictionary:%@",dictionary);  
    6. [dictionary release];  

    NSMutableDictionary 

    创建

    1. NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];  

    添加字典

    1. [dictionary setObject:@"One" forKey:@"1"];  
    2. [dictionary setObject:@"Two" forKey:@"2"];  
    3. [dictionary setObject:@"Three" forKey:@"3"];  
    4. [dictionary setObject:@"Four" forKey:@"4"];  
    5. NSLog(@"dictionary:%@",dictionary);  

    删除指定的字典

    1. [dictionary removeObjectForKey:@"3"];  
    2. NSLog(@"dictionary:%@",dictionary);  

    NSValue(对任何对象进行包装)

    将NSRect放入NSArray中

    1. NSMutableArray *array = [[NSMutableArray alloc] init];  
    2. NSValue *value;  
    3. CGRect rect = CGRectMake(0, 0, 320, 480);      
    4. value = [NSValue valueWithBytes:&rect objCType:@encode(CGRect)];  
    5. [array addObject:value];  
    6. NSLog(@"array:%@",array);  

    从Array中提取

    1. value = [array objectAtIndex:0];  
    2. [value getValue:&rect];  
    3. NSLog(@"value:%@",value);  

    定义结构体并添加到NSArray里面

    1. typedef struct {  
    2. float real;  
    3. float imaginary;  
    4. } ImaginaryNumber;  
    5. ImaginaryNumber miNumber;  
    6. miNumber.real = 1.1;  
    7. miNumber.imaginary = 1.41;  
    8. NSValue *miValue = [NSValue value:miNumber  
    9. withObjCType:@encode(ImaginaryNumber)]; // encode using the type name  
    10. ImaginaryNumber miNumber2;  
    11. [miValue getValue:&miNumber2];  

    四、宏定义#define讲解

    NSNumber 

    1. + (NSNumber *)numberWithInt:(int)value;  
    2. + (NSNumber *)numberWithDouble:(double)value;  
    3. - (int)intValue;  
    4. - (double)doubleValue;  

    NSNumber可以将基本数据类型包装起来,形成一个对象,这样就可以给其发送消息,装入NSArray中等等。

    1. NSNumber * intNumber=[NSNumber numberWithInt:100];  
    2. NSNumber *floatNumber=[NSNUmber numberWithFloat:100.00];  
    3. int i=[intNumber intValue];  
    4. if([intNumber isEqualToNumber:floatNumber]) ....  

    NSNumber继承NSObject ,可以使用比较 compare: isEqual等消息

    NSNull

    IOS里面最小简单的类,里面只有一个方法+(NSNull*) null;

    数学常用方法

    数学常量:

    1. #define M_E         2.71828182845904523536028747135266250   // e 
    2. #define M_LOG2E     1.44269504088896340735992468100189214   // log 2e 
    3. #define M_LOG10E    0.434294481903251827651128918916605082  // log 10e 
    4. #define M_LN2       0.693147180559945309417232121458176568  // log e2 
    5. #define M_LN10      2.30258509299404568401799145468436421   // log e10 
    6. #define M_PI        3.14159265358979323846264338327950288   // pi 
    7. #define M_PI_2      1.57079632679489661923132169163975144   // pi/2 
    8. #define M_PI_4      0.785398163397448309615660845819875721  // pi/4 
    9. #define M_1_PI      0.318309886183790671537767526745028724  // 1/pi 
    10. #define M_2_PI      0.636619772367581343075535053490057448  // 2/pi 
    11. #define M_2_SQRTPI  1.12837916709551257389615890312154517   // 2/sqrt(pi) 
    12. #define M_SQRT2     1.41421356237309504880168872420969808   // sqrt(2) 
    13. #define M_SQRT1_2   0.707106781186547524400844362104849039  // 1/sqrt(2)  

    常用函数:

    指数运算

    1. NSLog(@"%.f", pow(3,2) ); //result 9 
    2. NSLog(@"%.f", pow(3,3) ); //result 27  

    开平方运算(计算两点间的距离时用到)

    1. NSLog(@"%.f", sqrt(16) ); //result 4 
    2. NSLog(@"%.f", sqrt(81) ); //result 9  

    上舍入

    1. NSLog(@"res: %.f", ceil(3.000000000001)); //result 4 
    2. NSLog(@"res: %.f", ceil(3.00)); //result 3  

    下舍入

    1. NSLog(@"res: %.f", floor(3.000000000001)); //result 3 
    2. NSLog(@"res: %.f", floor(3.9999999)); //result 3  

    四舍五入

    1. NSLog(@"res: %.f", round(3.5)); //result 4 
    2. NSLog(@"res: %.f", round(3.46)); //result 3 
    3. NSLog(@"res: %.f", round(-3.5)); //NB: this one returns -4  

    最小值

    1. NSLog(@"res: %.f", fmin(5,10)); //result 5  

    最大值

    1. NSLog(@"res: %.f", fmax(5,10)); //result 10  

    绝对值

    1. NSLog(@"res: %.f", fabs(10)); //result 10 
    2. NSLog(@"res: %.f", fabs(-10)); //result 10  

    NSDate

    得到当前的日期

    1. NSDate *date = [NSDate date];   

    日期之间比较可用以下方法

    1. - (BOOL)isEqualToDate:(NSDate *)otherDate;// 与otherDate比较,相同返回YES  
    2. - (NSDate *)earlierDate:(NSDate *)anotherDate;// 与anotherDate比较,返回较早的那个日期  
    3. - (NSDate *)laterDate:(NSDate *)anotherDate;//与anotherDate比较,返回较晚的那个日期  

    将日期转换成字符串

    1. NSLog(@”date = %@”,[data description]);  

    设置日期显示格式

    1. NSDateFormatter *formatter =[[[NSDateFormatter alloc] init] autorelease];   
    2.  [formatter setTimeStyle:NSDateFormatterFullStyle]; //设置几种默认的显示效果 
    3.  [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss a"];//设置自定义的显示效果  
    4.  NSLog([formatter stringFromDate:date]);  

    NSData

      1. NSData-> NSString   
      2. NSString *aString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];   
      3. NSString->NSData   
      4. NSString *aString = @"1234abcd";   
      5. NSData *aData = [aString dataUsingEncoding: NSUTF8StringEncoding];   
  • 相关阅读:
    linux 命令——48 watch (转)
    linux 命令——47 iostat (转)
    linux 命令——46 vmstat(转)
    linux 命令——45 free(转)
    linux 命令——44 top (转)
    linux 命令——43 killall(转)
    linux 命令——42 kill (转)
    linux 命令——41 ps(转)
    linux 命令——40 wc (转)
    Java for LeetCode 068 Text Justification
  • 原文地址:https://www.cnblogs.com/iOS-mainstay/p/4598664.html
Copyright © 2011-2022 走看看