NSString 的常见方法

时间:2023-03-08 22:35:41
NSString 的常见方法

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

NSString 的常见方法 分类:
iOS开发(2) NSString 的常见方法 移动开发(2) NSString 的常见方法 NSString 字符串 截取字符串

版权声明:本文为博主原创文章,未经博主允许不得转载。

1.定义一个字符串a, 截取a 的某一个部分,复制给b, b必须是int型

NSString *a = @"1.2.30";

int  b= [[a substringWithRange:NSMakeRange(4,2)] intValue];

NSLog(@"a:%@  \n",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(@"\n b: %@",b);

}

b: i li


3。字符串从第n 位开始截取,直到最后 (substringFromIndex:n)(包括第 n 位)

- (void)viewDidLoad

{

NSString  *a = @"i like long dress";

NSString *b = [a substringFromIndex:4];

NSLog(@"\n b: %@",b);

}

b: ke long dress

。NSMutableString  为可变的字符串

NSString      为不可变的字符串

-(void)viewDidLoad

{

NSMutableString *a = [[NSMutableString  alloc]initWithString:@"123456798"];

NSLog(@" \n a:  %@\n",a);

[a deleteCharactersInRange:NSMakeRange(1,2)];

NSLog(@" \n a:  %@\n",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