Objective-C NSString的方法

今天主要练习NSString NSMutableString NSArray NSMutableArray

NSString(字符串)

方法1: [[NSString alloc] initWithFormat:@""] 创建一个字符串的对象,并将其格式化,然后给字符串对象进行赋值

方法2: stringWithFormat:@"" 结构等于[[NSString alloc]initWithFormat:@""]; 便利构造器创建字符串

方法3:stringWithUTF8String 将C语言字符串转化为OC的字符串对象,这个很重要 注:我是C语言字符串,所以没有加@符号

以上的方法是为了了解NSString 下面我们介绍一下NSString的12个方法

创建一个字符串的对象,并且给字符串对象赋值一个网站

NSString *str = [[NSString alloc] initWithFormat:@"http://item.taobao.com/item.htm?spm=a230r.1.14.83.wdbg0h&id=44327943363&ns=1&abbucket=2#detail"];

//1.获取字符串的长度 关键字length

NSInteger length = [str length];

//2.将字符串对象变成大写的 关键字 uppercaseString

NSString *upperStr = [str uppercaseString];

//3.将字符串对象变成小写的 关键字 lowercaseString

NSString *lowerStr = [str lowercaseString];

//4.判定字符串开头 关键字:hasPrefix

BOOL isBegin = [str hasPrefix:@"http:"];

//1代表YES 或者 TRUE

//5.判定字符串结尾 关键字hasSuffix

BOOL isEnd = [str hasSuffix:@"http:"];

//6.对字符串进行拼接 关键字:stringByAppendingString 注:会经常使用

NSString *appendStr = [str stringByAppendingString:@"/pinjie"];

//7.对字符串进行替换 关键字:stringByReplacingOccurrencesOffString

//注:替换的是字符串,而不是字符

NSString *replaceStr = [str stringByReplacingOccurrencesOfString:@"http" withString:@"mmmm"];

//8.对字符串进行比较 关键字:compare 注:会经常使用

//注:打印结果如果为-1 表示前面的小 如果是0 表示两个相等 如果是1 表示前面的大

NSInteger result = [@"cc" compare:@"bb"];

//9.判断字符串是否相等 关键字:isEqualToSting

BOOL isEqual = [@"ab" isEqualToString:@"ac"];

//10.1 截取字符串 关键字:substringFromIndex

NSString *subStr1 = [str substringFromIndex:10];

//substringFromIndex: 表示从给定的下标开始截取到字符串结束(包含当前下标);

//10.2 截取字符串 关键字:substringToIndex

NSString *subStr2 = [str substringToIndex:25];

//截取第一个字符到第25个

//10.3 截取字符串 关键字:substringWithRange

//OC中提供了很多可以快速创建结构体的方法,主要以NSMake开头 + 对应的结构体名字,例如:(NSMakeRange(位置)(长度))

NSString *rangeStr = [str substringWithRange:NSMakeRange(7, 25)];

//11.获取字符串的范围 rangeOfString

NSRange range = [str rangeOfString:@"taobao"];

NSLog(@"%ld,%ld",range.location,range.length);

//12.将基本类型转化为字符串 关键字:initWithFormat

//NSString *intStr = [[NSString alloc] initWithFormat:@"%d",10];

NSString *intStr = @"10";//笑笑语法

//对于NSString对象来说,是不可以改变的,不管以上的那种方法对NSString做了什么操作,都并没有该表NSString的本身,而是改变了NSString的副本.

//如果想要对NSString本身进行改变,那么就需要使用它的子类NSMutableString 在以上方法的基础上,多了增 删 改

NSMutableString *strmut = [[NSMutableString alloc] initWithFormat:@"我是可变的字符串"];

//插入方法 关键词:insert

[strmut insertString:@"哈哈" atIndex:8];

NSLog(@"%@",strmut);

//打印结果为:我是可变的字符串哈哈

//拼接方法 关键词:append

[strmut appendString:@"/你笑啥"];

//打印结果为:我是可变的字符串哈哈/你笑啥

//删除方法 关键词:delete

[strmut deleteCharactersInRange:NSMakeRange(6,7 )];

//重置方法 关键字:set

[strmut setString:@"我一直都在变化"];

NSArray (数组)

//创建三个字符串对象

NSString *str1 = [NSString stringWithFormat:@"iPhone4"];

NSString *str2 = [[NSString alloc] initWithFormat:@"iPhone5"];

NSString *str3 = @"iPhone6";

NSLog(@"%@ %@ %@",str1,str2,str3);

NSArray

方法1: initWithObjects 因为是数组,所以需要传入多个对象,这些对象之间用","隔开,最后以nil结尾.

创建一个数组对象来接收所传入的对象们.

NSArray *arr1 = [[NSArray alloc] initWithObjects:str1,str2,str3, nil];

NSLog(@"%@",arr1);

方法2:objectAtIndex: 通过下标找到对象 只会找到第一个符合的对象,即使在第一个对象之后在有符合的也不会显示,找到第一个之后,就回返回.

NSString *str = [arr1 objectAtIndex:1];

NSLog(@"%@",str);//NSString类型 iPhone5

NSInteger index = [arr1 indexOfObject:str2];

NSLog(@"%ld",index);//arr1下标为1

//方法3:查看数组元素个数

NSInteger count = [arr1 count];

NSLog(@"%ld",count);//结果:arr1里有3个元素

方法4:通过便利打印出各个元素

for(int i = 0; i < arr1.count; i++){

NSLog(@"%@",[arr1 objectAtIndex:i]);

}

方法5:排序 sortedArrayUsingSelector:@selector(compare:)这个方法是系统提供的,内部已经做好了排序的,所以知道方法就好,不需要过分的追究.

NSArray *sortArray = [arr1 sortedArrayUsingSelector:@selector(compare:)];

NSLog(@"%@",sortArray);

NSMutableArray(可变数组)

//NSMutableArray 继承与NSArray 所以NSArray的方法NSMutableArray也都可以使用

//创建可变的数组对象

NSMutableArray *mutArray = [[NSMutableArray alloc] initWithObjects:str1,str3, nil];

方法1:添加  addObject

[mutArray addObject:str1];

[mutArray addObject:str2];

[mutArray addObject:str3];

NSLog(@"%@  %@   %@",str1,str2,str3);

方法2:删除  removeObjectAtIndex

[mutArray removeObjectAtIndex:1];

[mutArray removeObjectAtIndex:0];

[mutArray removeObjectAtIndex:2];

NSLog(@"%@",mutArray);

方法3:交换  exchangeObjectAtIndex:

[mutArray exchangeObjectAtIndex:1 withObjectAtIndex:0];

NSLog(@"%@",mutArray);

方法4:排序 sortUsingSelector:@selector(compare:)

NSString *str1 = @"Jack";

NSString *str2 = @"Henry";

NSString *str3 = @"ELyse";

NSString *str4 = @"John";

NSString *str5 = @"Justin";

NSMutableArray *mutableArray = [[NSMutableArray alloc] initWithObjects:str1,str2,str3,str4,str5, nil];

[mutableArray sortUsingSelector:@selector(compare:)];

NSLog(@"%@",mutableArray);

//方法5:获取数组第一个元素 firstObject

[mutableArray firstObject];

NSLog(@"%@",mutableArray.firstObject);

//方法5:获取数组最后一个元素

[mutableArray lastObject];

NSLog(@"%@",mutableArray.lastObject);

}

return 0;

时间: 2024-08-26 10:29:29

Objective-C NSString的方法的相关文章

NSString中方法的使用

NSString的使用. 1. - (NSUInteger)length; 返回字符串的长度 NSString *demo = @"hello world"; NSString *demo [email protected]"good morning"; NSLog(@"%ld", [demo length]);输出为 11 2 - (unichar)characterAtIndex:(NSUInteger)index; 返回在字符串中的某个位置

黑马程序员-OC特有语法:分类category,给NSString增加方法计算字符串中数字的个数

1:分类的使用场景:想对一个类,扩充一些功能,而又不改变原来类的模型,也不用继承,这时OC中的特有语法:分类可以做到: 当然分类也是一个类,也需要声明和实现,声明在.h文件中,实现在.m文件中,格式如下 // 声明 @interface  类名  (分类名称) @end // 实现 @implementation 类名 (分类名称) @end 2:分类的好处,当一个类比较庞大时,不同的部分可以放到不同的分类中,也方便团队中类的开发: 3:分类使用注意: a:分类不能增加成员变量,只能对原类增加方

NSString 初始化方法的内存比较

NSString *str1 = @"hello"; NSString *str2 = @"hello"; NSString *str3 = [NSString stringWithFormat:@"hello"]; NSString *str4 = [NSString stringWithString:@"hello"]; NSString *str5 = [[NSString alloc]initWithString:@&

OC字符串之NSString.h方法简译

@interface NSString : NSObject <NSCopying, NSMutableCopying, NSSecureCoding> @property (readonly) NSUInteger length;//获得字符串的长度 - (unichar)characterAtIndex:(NSUInteger)index;//返回在字符串中的某个位置的字符,参数索引 - (instancetype)init NS_DESIGNATED_INITIALIZER;//构造方法

NSString的方法使用

//NSString的初始化 NSString *str1=[[NSString alloc]init]; //创建 //1.快速创建 NSString *[email protected]"11"; //2.alloc方法初始化,这种方法已经被快速创建方法取代,此处警告就是因为这种方法已经不用 NSString *str3=[[NSString alloc]initWithString:@"1"]; //3.格式化符创建 NSString *str4=[[NSSt

把Swift中的String转成NSString ,获取NSString的方法

1.0 在Swift中的 String 并没有提供什么方法,直接把它自身转变成 Int .Float 等,而在OC中我们就可以这样  "123".integerValue 来获取它对应的数值,因为OC和Swift的字符串类型是相通的,所以我们可以进行如下操作: var str1 = "123" let a = (str1 as NSString).integerValue //获取数值 let b = (str1 as NSString).length // 获取字

Objective-C初始化方法

1.初始化方法: #import <Foundation/Foundation.h> @interface Person : NSObject{ NSString *_name; NSInteger _age; } //自定义初始化方法,必须以init开头 - (id)initWithName:(NSString *)name withAge:(NSInteger)age; //打印信息 - (void)showInfo; @end 这里我们定义了一个初始化方法,对名称和年龄进行初始化赋值操作

IOS成长之路-Nsstring搜索方法rangeOfString

NSString *str1 = @"can you \n speak English"; NSString *str = @"\n"; //在str1该字符串搜索\n.它的结论是不存在 if ([str1 rangeOfString:str].location != NSNotFound) { NSLog(@"此字符串\n"); } //rangeOfString 在参数的前面是要搜索的字符串.返回搜索字符 //NSNotFound 它表示为一

OC中NSString 的方法

NSString *str1 = @"BeiJing"; NSString *str2 = @"beijing"; //全部转为大写 NSLog(@"%@",[str1 uppercaseString]); //全部转为小写 NSLog(@"%@",[str1 lowercaseString]); //首字母大写 NSLog(@"%@",[str1 capitalizedString]); //比较两个字符