OC有单独的字符串类NSString(字符串对象分为可变和不可变字符串,在使用一个字符串对象之前,首先是创建以及初始化该对象)
typedef struct_NSRange{
NSUInteger location; //起始位置
NSUInteger length; //长度
}NSRange;
工厂方法 类方法用来产生新对象
创建字符串
a NSString *string = @“字符串的内容”;
b NSString *string = [NSString new];
c +(id)stringWithString:(NSString *)aString
d +(id)stringFormat:(NSString *)format,……
获取字符串长度
-(unsigned int)length;
eg: unsigned long len = [string length ];
字符串是否相等比较
比较两个字符串的指针 ==
比较两个字符串的内容 -(BOOL) isEqualToString :(NSString *)aString;
字符串的大小比较
eg: [字符串1 compare:字符串2]
eg: [字符串1 compare:字符串2 options: ____ ]
NSCaseInsensitiveSearch: 不区分大小字符,以首字母为主
NSLiteralSearch :区分大小字符
NSNumericSearch :比较字符个数
NSString *string3 = @"Hello";
NSString *string4 = @"hello";
if ([string3 compare:string4 options: NSCaseInsensitiveSearch | NSNumericSearch ] == NSOrderedSame ) {
NSLog(@"12121345”); // 不区分大小写字符 , 字符串的个数比较 ==判断真假
}
字符串的拼接
NSString *string = @“I love”;
NSString *newString = [string st ringByAppendingString: @“ iphonge”]; //注意空格
NSString *newStr = [newString stringByAppendingFormat :@“%dS! “, 5];
结果: I love iPhone5S
字符串的查找及截取
查找
NSString *fileName = @"ios-45.doc”;
NSRange range = [fileName rangeOfString :@“45”]; //返回结果range.location为4, range.length为2
if ([fileName hasPrefix :@"ios"]) { //判断字符串是否以iOS开头
NSLog(@"本文件是ios相关的文件”);
}
if([fileName hasSuffix :@".doc"]){ //判断字符串是否以.doc结尾
NSLog(@"这是一个word文档”);
}
截取
NSString *fileName = @"ios_45.doc” ;
char c = [fileName characterAtIndex : 2 ];
NSString *to = [fileName substringToIndex : 5 ]; //头atIndex减 (-1)
NSString *from = [fileName substringFromIndex : 5 ]; //尾atIndex NSString *range = [fileName substringWithRange : NSMakeRange ( 3 , 5 )];
NSLog ( @"c:%c" , c);
NSLog ( @"to:%@" , to);
NSLog ( @"from:%@" ,from);
NSLog ( @"range:%@" ,range);
// 结果 c:s
to:ios_4
from: 5. doc
range:_45.d
字符串的转换函数
获取数据
- (double)doubleValue; ==float,int
eg: [@“123” intValue]; //只能读取 首 个是数字的 联系 的数字,不联系就断开不读
大小写转换
-(NSString *)uppercaseString; ==lowercaseString,capitalizedString(首个大写,其余小写)
eg:[@“___” uppercaseString];
字符串的替换
-(NSString *) stringByReplacingOccurrencesOfString :(NSString *)target withString: (NSString *)replacement:
//target替换replacement
-(NSString *) stringByReplacingCharactersInRange :NSMakeRange(int, int) withString: (NSString *)replacement:
//range范围内的内容替换replacement
-(NSArray *) componentsSeparatedByString :(NSString *)separator:
//以separator为分隔符,将原字符的内容进行分割,分割得到的结果放到一个数组里,作为返回值
可变的字符串 NSMutableString
-(id) stringWithCapacity :(unsigned long)capacity;
//capacity只是一个初始值,系统会根据这个大小预分配内存
拼接
-(void) appendString :(NSString *)string;
eg:[_可变字符__ appendString (NSString *)string];
-(void) appendFormat :(NSString *)format,……..;
eg:[_可变字符___ appendFormat @“%d”,int];
删除
-(void) deleteCharactersInRange :(NSRange)range;
eg: NSRange range = [(NSString *)string rangeOfString : (NSString *)string ]; //删除上面有的字符, 注意空字符
typedef struct_NSRange{
NSUInteger location; //起始位置
NSUInteger length; //长度
}NSRange;
工厂方法 类方法用来产生新对象
创建字符串
a NSString *string = @“字符串的内容”;
b NSString *string = [NSString new];
c +(id)stringWithString:(NSString *)aString
d +(id)stringFormat:(NSString *)format,……
获取字符串长度
-(unsigned int)length;
eg: unsigned long len = [string length ];
字符串是否相等比较
比较两个字符串的指针 ==
比较两个字符串的内容 -(BOOL) isEqualToString :(NSString *)aString;
字符串的大小比较
eg: [字符串1 compare:字符串2]
eg: [字符串1 compare:字符串2 options: ____ ]
NSCaseInsensitiveSearch: 不区分大小字符,以首字母为主
NSLiteralSearch :区分大小字符
NSNumericSearch :比较字符个数
NSString *string3 = @"Hello";
NSString *string4 = @"hello";
if ([string3 compare:string4 options: NSCaseInsensitiveSearch | NSNumericSearch ] == NSOrderedSame ) {
NSLog(@"12121345”); // 不区分大小写字符 , 字符串的个数比较 ==判断真假
}
字符串的拼接
NSString *string = @“I love”;
NSString *newString = [string st ringByAppendingString: @“ iphonge”]; //注意空格
NSString *newStr = [newString stringByAppendingFormat :@“%dS! “, 5];
结果: I love iPhone5S
字符串的查找及截取
查找
NSString *fileName = @"ios-45.doc”;
NSRange range = [fileName rangeOfString :@“45”]; //返回结果range.location为4, range.length为2
if ([fileName hasPrefix :@"ios"]) { //判断字符串是否以iOS开头
NSLog(@"本文件是ios相关的文件”);
}
if([fileName hasSuffix :@".doc"]){ //判断字符串是否以.doc结尾
NSLog(@"这是一个word文档”);
}
截取
NSString *fileName = @"ios_45.doc” ;
char c = [fileName characterAtIndex : 2 ];
NSString *to = [fileName substringToIndex : 5 ]; //头atIndex减 (-1)
NSString *from = [fileName substringFromIndex : 5 ]; //尾atIndex NSString *range = [fileName substringWithRange : NSMakeRange ( 3 , 5 )];
NSLog ( @"c:%c" , c);
NSLog ( @"to:%@" , to);
NSLog ( @"from:%@" ,from);
NSLog ( @"range:%@" ,range);
// 结果 c:s
to:ios_4
from: 5. doc
range:_45.d
字符串的转换函数
获取数据
- (double)doubleValue; ==float,int
eg: [@“123” intValue]; //只能读取 首 个是数字的 联系 的数字,不联系就断开不读
大小写转换
-(NSString *)uppercaseString; ==lowercaseString,capitalizedString(首个大写,其余小写)
eg:[@“___” uppercaseString];
字符串的替换
-(NSString *) stringByReplacingOccurrencesOfString :(NSString *)target withString: (NSString *)replacement:
//target替换replacement
-(NSString *) stringByReplacingCharactersInRange :NSMakeRange(int, int) withString: (NSString *)replacement:
//range范围内的内容替换replacement
-(NSArray *) componentsSeparatedByString :(NSString *)separator:
//以separator为分隔符,将原字符的内容进行分割,分割得到的结果放到一个数组里,作为返回值
可变的字符串 NSMutableString
-(id) stringWithCapacity :(unsigned long)capacity;
//capacity只是一个初始值,系统会根据这个大小预分配内存
拼接
-(void) appendString :(NSString *)string;
eg:[_可变字符__ appendString (NSString *)string];
-(void) appendFormat :(NSString *)format,……..;
eg:[_可变字符___ appendFormat @“%d”,int];
删除
-(void) deleteCharactersInRange :(NSRange)range;
eg: NSRange range = [(NSString *)string rangeOfString : (NSString *)string ]; //删除上面有的字符, 注意空字符