Objective-C中字符串(NSString和NSMutableString)常用的方法
标签(空格分隔): 字符串常用方法
一、NSString的常用方法(不可变字符串)
1、字符串实例化
1)直接赋值
NSString *value = @"lanou";
NSString *all = @"lanou3g is very important!";
2)通过initWithFormat:
NSString *value_3 = [[NSString alloc] initWithFormat:@"%d %c",2,'t'];
便利构造器
NSString *string = [NSString stringWithFormat:@"%d %c",2,'t'];
2、获取字符串长度
@property (readonly) NSUInteger length;
NSLog(@"length = %ld",[all length];
3、获取字符串中字符
- (unichar)characterAtIndex:(NSUInteger)index;
unichar c = [all characterAtIdex:3];
4、字符串的比较方法
NSString *value = @"abc";
NSString *value = @"ABC";
1)判断两个字符串对象是否相等
- (BOOL)isEqualToString:(NSString *)aString;
BOOL isEqual = [value1 isEqualToString:value2];
- 结果是0说明不相等,结果是1,说明相等
2)判断两个字符串对象的大小
- (NSComparisonResult)compare:(NSString *)string;
NSComparisonResult result = [value1 compare:value2];
- value1和value2 升序排序结果是-1,相等是0,降序排序是1
5、获取字符串的子串,以及字符串中的某个字符
1)获取子串——从输入的数字开始到最后
- (NSString *)substringFromIndex:(NSUInteger)from
NSString *substringFromIndex = [all substringFromIndex:3];
2)获取子串——从输入的数字之前
- (NSString *)substringToIndex:(NSUInteger)to
NSString *substringToIndex = [all substringToIndex:3];
3)声明一个变量用来指向获取的子串对象
- (NSString *)substringWithRange:(NSRange)range
// 声明一个变量 范围变量
// 1、定义范围的起点
// 2、定义范围的长度
NSRange range = NSMakeRange(8,2);
// 获取is字符串
NSString *subString = [all substringWithRange:range];
// 一般写成NSString *subString = [all substringWithRange:NSMakeRange(8,2)];
6、字符串链接(拼接)
NSString *value_1 = @"lanou";
NSString *value_2 = @"3g";
1)声明一个结果字符串对象
NSString *result = nul;
result = [value_1 stringByAppendingString:value_2];
2)声明一个结果字符串对象
*- (NSString )stringByAppendingFormat:(
NSString )format, …;*
NSString *result_2 = nul;
result_2 = [value_2 stringByAppendingFormat:@" %@",value_1];
- 在对字符串对象发送stringByAppending类型的方法的时候,该字符串对象是不会发生变化的。
7、替换字符串
*- (NSString )stringByReplacingCharactersInRange:(
NSRange)range withString:(NSString )replacement;*
NSString *str = [all stringByplacingCharactersInRange:NSMakeRange(1,3) withString:@"xxx"];
8、字符串与其他数据类型进行转换
@property (readonly) int intValue;
- 其他类型的用法与其相同
NSString *value = @"2";
int intValue = [value intValue];
- 其中的int intValue可以替换为double doubleValue或者float floatValue
9、字符串改变大小写
1)字符串全部大写
@property(readonly,copy)NSString *uppercaseString;
NSString *upper = [all uppercaseString];
2)字符串全部小写
@property(readonly,copy)NSString *lowercaseString;
NSString *lower = [all lowercaseString];
3)字符串首字母大写
@property(readonly,copy)NSString *capitalizedString;
NSString *capital = [all capitalizedString];
10、字符串的前后缀
1)是否以指定字符串为前缀
- (BOOL)hasPrefix:(NSString *)str;
BOOL b1 = [all hasPrefix:@"m"]; // 判断是否以字符m开头
2)是否以指定字符串为后缀
- (BOOL)hasSuffix:(NSString *)str;
BOOL b2 = [all hasSuffix:@"h"]; // 判断是否以字符h结尾
二、NSMutableString的常用方法(可变字符串)
NSMutableString *strm = [NSMutableString stringWithCapacity:100];
1、拼接字符串
- (void)appendFormat:(NSString *)format, …
[strm appendFormat:@"Lan"];
2、插入字符串
- (void)insertString:(NSString *)aString atIndex:(NSUInteger)loc
[strm insertString:@"a" atIndex:1];
3、删除字符串
- (void)deleteCharactersInRange:(NSRange)range
[strm deleteCharactersInRange:NSMakeRange(1, 1)];
4、替换字符串
- (void)replaceCharactersInRange:(NSRange)range withString:(NSString *)aString
[strm replaceCharactersInRange:NSMakeRange(2, 1) withString:@"m"];
5、重置字符串
- (void)setString:(NSString *)aString;
[strm setString:@"hao"];