NString类的一些方法:
一.
创建对象
两种方式
:
1.
便利构造器
(+
号
)
NSString *str1 = [NSString stringWithFormat:@"Frank is handsome %dboy",56];
NSLog(@"%@",str1);
2. alloc + 初始化方法
NSString *str2 = [[NSString alloc] initWithFormat:@"iphone%d",4];
NSLog(@"%@",str2);
NSString *str1 = [NSString stringWithFormat:@"Frank is handsome %dboy",56];
NSLog(@"%@",str1);
2. alloc + 初始化方法
NSString *str2 = [[NSString alloc] initWithFormat:@"iphone%d",4];
NSLog(@"%@",str2);
求字符串长度
NSUInteger length = [str1 length];
NSLog(@"length = %lu",length);
NSUInteger length = [str1 length];
NSLog(@"length = %lu",length);
获取字符串中某个字符
unichar cha = [str1 characterAtIndex:2];
unichar cha = [str1 characterAtIndex:2];
判断是否以指定的字符串开头,或者以指定的字符串结尾
例如 : 判断一个字符串是否以 http 开头 , 以 .com 结束
NSString *str4 = [[NSString alloc]initWithFormat:@"http://www.baidu.com"];
判断是否以 http 开头
BOOL isPrefix = [str4 hasPrefix:@"http"];
判断是否以 .com 结尾
BOOL isSuffix = [str4 hasSuffix:@".com"];
NSLog(@"isPrefix = %d,isSuffix = %d",isPrefix,isSuffix);
例如 : 判断一个字符串是否以 http 开头 , 以 .com 结束
NSString *str4 = [[NSString alloc]initWithFormat:@"http://www.baidu.com"];
判断是否以 http 开头
BOOL isPrefix = [str4 hasPrefix:@"http"];
判断是否以 .com 结尾
BOOL isSuffix = [str4 hasSuffix:@".com"];
NSLog(@"isPrefix = %d,isSuffix = %d",isPrefix,isSuffix);
查找指定字符串的范围
NSRange range = [str4 rangeOfString:@"ww"];
if (range.length==0) {
NSLog(@" 没有找到对应字符串 ");
}else{
将 NSRange 类型的结构体变量转变成字符串对象
NSLog(@"%@",NSStringFromRange(range));
}
NSRange range = [str4 rangeOfString:@"ww"];
if (range.length==0) {
NSLog(@" 没有找到对应字符串 ");
}else{
将 NSRange 类型的结构体变量转变成字符串对象
NSLog(@"%@",NSStringFromRange(range));
}
字符串截取(获取子字符串
)
NSString *str5 = [NSString stringWithFormat:@"laoousa"];
//1. 获取给定的下标之后的子串 ,, 包含指定下标对应的字符 : 例如 : 获取 sa
NSString *subString1 = [str5 substringFromIndex:5];
NSLog(@"%@",subString1);
//2. 获取给定下标之前的子串 , 从下标为 0 开始 , 但是不包括指定下标对应的字符 : 例如 : 获取 lanou
NSString *subString2 = [str5 substringToIndex:5];
NSLog(@"%@",subString2);
//3. 获取指定范围内的子串 : 例如 : 获取 ou
NSString *subString3 = [str5 substringWithRange:NSMakeRange(3, 2)];
NSLog(@"%@",subString3);*/
NSString *str5 = [NSString stringWithFormat:@"laoousa"];
//1. 获取给定的下标之后的子串 ,, 包含指定下标对应的字符 : 例如 : 获取 sa
NSString *subString1 = [str5 substringFromIndex:5];
NSLog(@"%@",subString1);
//2. 获取给定下标之前的子串 , 从下标为 0 开始 , 但是不包括指定下标对应的字符 : 例如 : 获取 lanou
NSString *subString2 = [str5 substringToIndex:5];
NSLog(@"%@",subString2);
//3. 获取指定范围内的子串 : 例如 : 获取 ou
NSString *subString3 = [str5 substringWithRange:NSMakeRange(3, 2)];
NSLog(@"%@",subString3);*/
字符串拼接
NSString *str6 = [NSString stringWithFormat:@"lanou"];
//1.lanou 后拼接 henan
NSString *newStr6 = [str6 stringByAppendingString:@"henan"];
NSLog(@"%@",newStr6);
//2.lanou 后拼接 henan9ban
// NSString *newStr7 = [str6 stringByAppendingFormat:@"henan%dban",9];
NSString *newStr7 = [str6 stringByAppendingFormat:@"%@",newStr6];
NSLog(@"%@",newStr7);
NSString *str6 = [NSString stringWithFormat:@"lanou"];
//1.lanou 后拼接 henan
NSString *newStr6 = [str6 stringByAppendingString:@"henan"];
NSLog(@"%@",newStr6);
//2.lanou 后拼接 henan9ban
// NSString *newStr7 = [str6 stringByAppendingFormat:@"henan%dban",9];
NSString *newStr7 = [str6 stringByAppendingFormat:@"%@",newStr6];
NSLog(@"%@",newStr7);
替换字符串
NSString *str8 = [NSString stringWithFormat:@"lanououuisbig"];
//1. 将 ou 替换成牛 B
NSString *newStr = [str8 stringByReplacingOccurrencesOfString:@"ou" withString:@" 牛 B"];
NSLog(@"%@",newStr);
//2. 只将一个 ou 替换成牛 B
NSString *newStr1 = [str8 stringByReplacingCharactersInRange:NSMakeRange(3, 2) withString:@" 牛 B"];
NSLog(@"%@",newStr1);
NSString *str8 = [NSString stringWithFormat:@"lanououuisbig"];
//1. 将 ou 替换成牛 B
NSString *newStr = [str8 stringByReplacingOccurrencesOfString:@"ou" withString:@" 牛 B"];
NSLog(@"%@",newStr);
//2. 只将一个 ou 替换成牛 B
NSString *newStr1 = [str8 stringByReplacingCharactersInRange:NSMakeRange(3, 2) withString:@" 牛 B"];
NSLog(@"%@",newStr1);
字符串比较
字符串比较
NSComparisonResult result = [@"3261" compare:@"3222"];
字符串比较
NSLog(@"%ld",result);
字符串和数值类型转换
//1. 将字符串 @"123", 将字符串 123 转换成整数 123
// 从第一个字符开始 , 如果遇到除了空格之外的字符时 , 将前面的空格忽视掉 , 继续往下找 , 读取数字 , 直到遇到非数字时结果
int value = [@"123" intValue];
NSLog(@"%d",value);
//1. 将字符串 @"123", 将字符串 123 转换成整数 123
// 从第一个字符开始 , 如果遇到除了空格之外的字符时 , 将前面的空格忽视掉 , 继续往下找 , 读取数字 , 直到遇到非数字时结果
int value = [@"123" intValue];
NSLog(@"%d",value);
字符串大小写转换
//1. 将 @"lan ou" 全部转为大写
NSString *upperString = [@"lan ou" uppercaseString];
NSLog(@"%@",upperString);
//2. 将 @"lan ou" 全部转为小写
NSString *upperString1 = [@"lAn oU" lowercaseString];
NSLog(@"%@",upperString1);
//3. 将 @"lan ou" 每个单词首字母大写
NSString *upperString2 = [@"lan ou" capitalizedString];
NSLog(@"%@",upperString2);
//1. 将 @"lan ou" 全部转为大写
NSString *upperString = [@"lan ou" uppercaseString];
NSLog(@"%@",upperString);
//2. 将 @"lan ou" 全部转为小写
NSString *upperString1 = [@"lAn oU" lowercaseString];
NSLog(@"%@",upperString1);
//3. 将 @"lan ou" 每个单词首字母大写
NSString *upperString2 = [@"lan ou" capitalizedString];
NSLog(@"%@",upperString2);
二.NSMutableString 类的一些方法
NSMutableString *str = [NSMutableString stringWithFormat:@"lanouhenan"];
//
对于可变字符串的增删改方法
,
都是在原字符串基础上进行修改
,
所以修改之后原字符串的内容发生变化
,
所以无需返回值
1.在原字符串基础上拼接 Frank
[str appendString:@"frank"];
NSLog(@"%@",str);
2. 在字符串str基础上拼接 Frank
[str appendFormat:@"%@",@"frank"];
NSLog(@"%@",str);
删除字符串,在原字符串基础上删除 henan
[str deleteCharactersInRange:NSMakeRange(0, 5)];
NSLog(@"%@",str);
插入字符串,在原字符串基础上插入 lanou
[str insertString:@"lanou" atIndex:0];
NSLog(@"%@",str);
替换字符串,在原字符串基础上,将第一个frank替换成 duck
[str replaceCharactersInRange:NSMakeRange(10, 5) withString:@"duck"];
NSLog(@"%@",str);