NSString的常用方法
创建一个新字符串并将其设置为 path 指定的文件的内容,使用字符编码enc,在error上返回错误
+ (id)stringWithContentsOfURL:(NSURL *)url encoding:(NSStringEncoding)enc error:(NSError **)error;
创建一个新字符串并将其设置为 url 指定的内容,使用字符编码enc,在error上返回错误
+ (id)stringWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error;
创建一个新的空字符串
+(id)string
创建一个新的字符串,并将其内容设置为string的内容
+ (id)stringWithString:(NSString *)string;
将新分配的字符串设置为astring的内容
- (id)initWithString:(NSString *)aString;
将字符串设置为path指定的文件的内容 使用字符编码enc,在error上返回错误
- (id)initWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error;
将字符串设置为path指定的文件的内容 使用字符编码enc,在error上返回错误
- (id)initWithContentsOfURL:(NSURL *)url encoding:(NSStringEncoding)enc error:(NSError **)error;
返回字符串中的字符数目
- (NSUInteger)length;
返回索引(某个值,比如i)所在的Unicode字符
- (unichar)characterAtIndex:(NSUInteger)index;
返回从(?)开始到结尾的子字符串
- (NSString *)substringFromIndex:(NSUInteger)from;
返回从字符串开始的位置到(?)的子字符串
- (NSString *)substringToIndex:(NSUInteger)to;
根据指定范围返回子字符串
- (NSString *)substringWithRange:(NSRange)range;
比较两个字符串 (忽略大小写)
- (NSComparisonResult)caseInsensitiveCompare:(NSString *)string;
比较两个字符串
- (NSComparisonResult)localizedCompare:(NSString *)string;
测试字符串是否以aString开始
- (BOOL)hasPrefix:(NSString *)aString;
测试字符串是否以aString结尾
- (BOOL)hasSuffix:(NSString *)aString;
测试两个字符串是否相等
- (BOOL)isEqualToString:(NSString *)aString;
返回字符串 串中的每个单词的首字母大写,其余字母小写
- (NSString *)capitalizedString;
返回转换为小写的字符串
- (NSString *)lowercaseString;
返回转换为大写的字符串
- (NSString *)uppercaseString;
返回转换为UTF8编码格式的字符串
- (__strong const char *)UTF8String;
返回转换double类型的字符串
- (double)doubleValue;
返回转换float类型的字符串
- (float)floatValue;
返回转换int类型的字符串
- (int)intValue;
返回转换为NSInteger类型的字符串
- (NSInteger)integerValue
版权声明:本文为博主原创文章,未经博主允许不得转载。
1.定义一个字符串a, 截取a 的某一个部分,复制给b, b必须是int型
NSString *a = @"1.2.30";
int b= [[a substringWithRange:NSMakeRange(4,2)] intValue];
NSLog(@"a:%@ ",a );
NSLog(@"b:%d",b );
Output : 2011-07-05 11:49:08.170 Q[4005:207] a:1.2.30
2011-07-05 11:49:08.172 Q[4005:207] b:30
解析如下:substringWithRange: 专门截取字符串的一块肉
NSMakeRange(4,2) 从第4个字符开始截取,长度为2个字符,(字符串都是从第0个字符开始数的哦~!)
b = [a intValue]; 将 a 转换为 整数型
b = [a floatValue]; 将 a 转换为 小数型
b = [a boolValue]; 将 a 转换为 布尔型(true / false)
b = [a integerValue]; 将 a 转换为 整数型
b = [a longLongValue]; 将 a 转换为 长整型
2。 字符串截取到第n位 (substringToIndex: n)(第n 位不算再内)
- (void)viewDidLoad
{
NSString *a = @"i like long dress";
NSString *b = [a substringToIndex:4];
NSLog(@" b: %@",b);
}
b: i li
3。字符串从第n 位开始截取,直到最后 (substringFromIndex:n)(包括第 n 位)
- (void)viewDidLoad
{
NSString *a = @"i like long dress";
NSString *b = [a substringFromIndex:4];
NSLog(@" b: %@",b);
}
b: ke long dress
。NSMutableString 为可变的字符串
NSString 为不可变的字符串
-(void)viewDidLoad
{
NSMutableString *a = [[NSMutableString alloc]initWithString:@"123456798"];
NSLog(@" a: %@ ",a);
[a deleteCharactersInRange:NSMakeRange(1,2)];
NSLog(@" a: %@ ",a);
[a release];
}
4.截取字符串
NSString*string =@"sdfsfsfsAdfsdf";
string = [string substringToIndex:7];//截取掉下标7之后的字符串
NSLog(@"截取的值为:%@",string);
[string substringFromIndex:2];//截取掉下标2之前的字符串
NSLog(@"截取的值为:%@",string);
5.匹配字符串
NSString*string =@"sdfsfsfsAdfsdf";
NSRangerange = [stringrangeOfString:@"f"];//匹配得到的下标
NSLog(@"rang:%@",NSStringFromRange(range));
string = [string substringWithRange:range];//截取范围类的字符串
NSLog(@"截取的值为:%@",string);
6.分隔字符串
NSString*string =@"sdfsfsfsAdfsdf";
NSArray *array = [string componentsSeparatedByString:@"A"]; //从字符A中分隔成2个元素的数组
NSLog(@"array:%@",array); //结果是adfsfsfs和dfsdf