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 stringByAppendingString:@“ 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 *)targetwithString:(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 stringByAppendingString:@“ 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 *)targetwithString:(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]; //删除上面有的字符,注意空字符