【非凡程序员】不可修改字符串NSString和可修改字符串NSMutableString

一. 不可修改字符串 NSString提供了格式字符串的方法  stringWithFormat。在Ovjective-C中,使用"%@"来表示一个字符串的值,比如:

NSString *name=@"wangzhen";//声明变量name为一个字符串"wangzhen"
NSString *log=[NSString stringWithFormat: @" I am %@ ",name];

上述的log变量的值为" I am wangzhen "。

stringWithString方法是基于一个字符串对象创建另一个字符串对象。比如:

NSString *str1=@" wang ";
NSString *str2;
NSRange range;
NSLog(@"字符串1的长度为:%lu ",[str1 length];//输出结果是:字符串1的长度为:6
str2=[NSString stringWithString:str1];
NSLog(@"通过字符串1初始化的字符串2为:%@",str2);//输出结果是:通过字符串1初始化的字符串2为: wang

NSString提供了以下四种功能。

1.在一个字符串后面附加一个新字符串。

str3=[str1 stringByAppendingString:str2];//字符串1后面加上字符串2,就是字符串3的内容

2.字符串的比较和判断。

- (BOOL) isEqualToString : (NSSring *) string;//比较两个字符串是否相同
- (int) intValue;//转换为整数值
- (double) doubleValue://转换为double值

在编程中遇到数据类型不一致,经常需要强制转化,比如:

- (float) floatValue

返回转换为float类型的字符串。

比较字符串1和字符串2是否相等:

if ([str1 isEqualToString:str3]==YES){
       NSLog(@”这两个字符串相等");
} else {
       NSLog(@"这两个字符串不相等");
}

3.字符串的大小写转换。

str2=[str1 uppercaseString];//大写
str2=[str1 lowercaseString];//小写

4.字符串的截取。substringToIndex 可以让你从某一个位置截取字符串。要注意的是,第一个字符的位置是0,也就是说,位置是从0开始的,比如:

str2 = [str1 substringToIndex: 2];

二.可修改字符串(NSMutableString)

NSString本身不允许修改,如果需要修改的话,可以使用NSMutableString。

NSMutableString是NSString的子类,所以,所有NSString的方法都适用NSMutableString。

NSMutableString提供了附加字符串的方法:

- (void) appendString: (NSString *) string;
- (void) appendFormat: (NSString *) string;

比如:

NSMutableString *name = [NSMutableSTring stringWithString: beijing ];
[name appendString:@" wangzhen"];


你可能感兴趣的:(字符串)