常用的不可变的字符串处理的实例方法 API文档 NSString

来源:互联网 发布:2016淘宝盗图处罚规则 编辑:程序博客网 时间:2024/05/16 15:29
常用的可变字符串处理实例方法
NSString   这里需要注意的是该方法的处理方式是在副本字符串上直接进行修改
1.+ stringWithFormat;
Returns a string created by using a given format string as a template into which the remaining argument values are substituted.
返回用给定的格式字符串成,其余的参数值替换模板中创建一个字符串。
+ (instancetype)stringWithFormat:(NSString *)format,
 创建对象 :两种方式:1.便利构造器 2.alloc + 初始化的方法.
        //1.便利构造器
        
NSString *str1 = [NSString stringWithFormat:@"iPhone%d",5];//加号方法 
        
NSLog(@"str1 = %@",str1);//真实对象是堆区的指针空间
2.- initWithFormat;

Returns an NSString object initialized by using a given format string as a template into which the remaining argument values are substituted.

返回用给定的格式字符串成,其余的参数值替换模板初始化一个NSString对象。

- (instancetype)initWithFormat:(NSString *)format
 //2.alloc + 初始化方法
   
NSString *str2 = [[NSString allocinitWithFormat:@"iPhone%d",4];//减号方法 对象
   
NSLog(@"str2 = %@",str2);
 //3.根据字符串初始化oc字符串对象
        
NSString *str3 = @"lanou";//存储常量字符串的地址 最终指向的是常量区
        
//验证地址  0x1000010d0
        
NSLog(@"%p",str3);
3.- length;

Returns the number of Unicode characters in the receiver.

返回的Unicode字符中的接收机的数目。
- (NSUInteger)length//需要注意 返回值为无符号整形
// 获取字符串的长度
        
NSUInteger length = [str1 length];
        
NSLog(@"%lu",length);//得到的是肉眼看到的数目.

4.-characterAtIndex;

Returns the character at a given array position.

返回字符在给定的数组位置。
- (unichar)characterAtIndex:(NSUInteger)index
//获取字符串中的字符
        
unichar charac = [str1 characterAtIndex:4];
        
NSLog(@"%c",charac);//不能越界
        
//reason:问题产生的原因reason: '-[__NSCFString characterAtIndex:]: Range or index out of bounds'下标越界
       
// 解决方案:将数组修改范围之内的数即可
5.- hasPrefix;

Returns a Boolean value that indicates whether a given string matches the beginning characters of the receiver.

返回一个布尔值,指示是否在给定的字符串相匹配的接收器的起始字符。
- (BOOL)hasPrefix:(NSString *)aString
//三部分 判断字符串是否以指定的字符串开头和结束
//例如判断一个字符串是否以http开头 .com结束
        
NSString *str4 = [[NSString allocinitWithFormat:@"http://www.translate.com"];
        
//1.判断是否以http开头
        
BOOL isPrefix = [str4 hasPrefix:@"http”];//判断是否以http开头 返回值为bool
        NSLog(@"isPrefix = %d",isPrefix);

6.- hasSuffix;

Returns a Boolean value that indicates whether a given string matches the ending characters of the receiver.

返回一个布尔值,指示是否在给定的字符串相匹配的接收器的结束字符。
- (BOOL)hasSuffix:(NSString *)aString
//2.判断是否是以.com结束
        
BOOL isSuffix = [str4 hasSuffix:@"com"];
        
NSLog(@"isSuffix = %d"
,isSuffix);

7. - NSMakeRange;

Creates a new NSRange from the specified values.

从指定的值,创建一个新的NSRange。
NSRange NSMakeRange (   NSUInteger loc,   NSUInteger len);
Return Value An NSRange with location location and length length.
返回值一个NSRange与地点位置和长度的长度。
8. - NSStringFromRange;

Returns a string representation of a range.

返回一系列的字符串表示形式。
NSString * NSStringFromRange (   NSRange range);
Return Value A string of the form “{ab}”, where a and b are non-negative integers representing aRange.
返回值一个字符串形式的“{A,B}”,其中a和b是代表aRange非负整数。
//查找指定字符串的范围 NSRange结构体重新命名得到的 返回值为:range.location range.length  只查找有没有 而不管有几个
        NSRange range = [str4 rangeOfString:@"http"];        if (range.length == 0) {            NSLog(@"没有相关的字符串");        }else{            //NSRange 结构体类型变量直接转换成字符串对象输出         /* typedef struct _NSRange {            NSUInteger location;                  NSUInteger length;            } NSRange;            */                        NSLog(@"%@",NSStringFromRange(range));//将结构体以字符串对象的形式输出            //NSLog(@"locatio = %lu,length = %lu",range.location,range.length);等价于上面的方法        }9.-substringFromIndex;

Returns a new string containing the characters of the receiver from the one at a given index to the end.

返回包含一个接收器的角色给定的数到最后的一个新的字符串。
- (NSString *)substringFromIndex:(NSUInteger)anIndex
//字符串截取  从给定下表到结束  substringFromIndex  substringToIndex substringWithRange 由于操作的是不可变的字符串 这里操作的是副本
        
NSString *str5 = [NSString stringWithFormat:@"lanou is a big company"];
        
//1.获取给定下标之后的字符串,包含指定下标对应的字符
        
//例如要获取company
        
NSString *subString1 = [str5 substringFromIndex:15];
        
NSLog(@"subString = %@",subString1);

10. - substringToIndex:

Returns a new string containing the characters of the receiver up to, but not including, the one at a given index.

返回包含接收者的角色最多,但不包括在一个给定的索引处一个新的字符串。
- (NSString *)substringToIndex:(NSUInteger)anIndex
//2.获取给定下标之前的字符串,不包含指定下标对应的字符 空格也可以  :lanou
        
NSString *subString2 = [str5 substringToIndex:5];
        
NSLog(@"subString = %@",subString2);

11.substringWithRange:

Returns a string object containing the characters of the receiver that lie within a given range.

返回包含一个给定的范围内,接收器的字符组成的字符串对象。
- (NSString *)substringWithRange:(NSRange)aRange
 //3.获取制定一个范围的字符串 substringWithRange
        
//例如获取:lanou   利用NSMakeRange(0, 5)
        
NSString *subString3 = [str5 substringWithRange:NSMakeRange(05)];
        
NSLog(@"subString3 = %@"
,subString3);

12. - stringByAppendingString:

Returns a new string made by appending a given string to the receiver.

返回由附加一个给定的字符串到接收器做了一个新的字符串。
- (NSString *)stringByAppendingString:(NSString *)aString
//字符串拼接  stringByAppendingFormat  stringByAppendingString
        
        
NSString *str6 = [NSString stringWithFormat:@"lanou"];
        
//lanou 后拼接 henan
        
NSString *newStr6 = [str6 stringByAppendingString:@"henan"];//不可以出现格式串
        
NSLog(@"newStr6 = %@",newStr6);

13. - stringByAppendingFormat:

Returns a string made by appending to the receiver a string constructed from a given format string and the following arguments.

返回由附加到接收器从给定格式字符串和下面的参数构造一个字符串做了一个字符串。
- (NSString *)stringByAppendingFormat:(NSString *)format
 //lanou 后拼接 henan9ban
        
NSString *newStr7 = [str6 stringByAppendingFormat:@"henan%dban",9];//可以出现格式串
        
NSString *newStr8 = [str6 stringByAppendingFormat:@"%@",newStr7];//可以拼接对象
        
NSLog(@"newStr7 = %@",newStr7);
        
NSLog(@"newStr8 = %@,
newStr8);

14. - stringByReplacingOccurrencesOfString:withString:
Returns a new string in which all occurrences of a target string in the receiver are replaced by another given string.
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement

15. - stringByReplacingCharactersInRange:withString:

Returns a new string in which the characters in a specified range of the receiver are replaced by a given string.

- (NSString *)stringByReplacingCharactersInRange:(NSRange)range withString:(NSString *)replacement

//替换字符串
        
NSString *str8 = [NSString stringWithFormat:@"lan ouououououououou isabigcompany"];
        
//(1)ou替换成牛逼
        
NSString *newStr9 = [str8 stringByReplacingOccurrencesOfString:@"ou"withString:@"牛逼"]; //换掉谁谁在前 换上谁 谁在前
        
NSLog(@"newStr8 = %@",newStr9);
        
//2.只将第一个ou换成牛逼 如果替换两个 就写两次 牛逼
        
NSString *newStr10 = [str8 stringByReplacingCharactersInRange:NSMakeRange(42withString:@"牛逼"];
        
NSLog(@"%@"
,newStr10);
这里需要注意的是 一个字符只能替换一个字符 不能多对一 也不能一对多
16. - NSComparisonResult

These constants are used to indicate how items in a request are ordered.

enum {   NSOrderedAscending = -1,   NSOrderedSame,   NSOrderedDescending};typedef NSInteger NSComparisonResult;

17. -compare:

Returns the result of invoking compare:options:range: with no options and the receiver’s full extent as the range.

- (NSComparisonResult)compare:(NSString *)aString
 //字符串比较  返回值为 枚举类型
        
/**
         *  enum {
         NSOrderedAscending = -1,  //
升序 返回-1
         NSOrderedSame,// 
相同 返回0
         NSOrderedDescending// 
降序 返回1
         };
         typedef NSInteger NSComparisonResult;
         */

        
NSComparisonResult result = [@"111" compare:@"222"];//前一个比后一个小 升序返回 -1
        
NSLog(@"%ld",result);

18. - intValue

Returns the integer value of the receiver’s text.

- (int)intValue 

19. - floatValue

Returns the floating-point value of the receiver’s text as a float.

- (float)floatValue

20. - integerValue

Returns the NSInteger value of the receiver’s text.

- (NSInteger)integerValue

21. - doubleValue 

Returns the floating-point value of the receiver’s text as a double.

- (double)doubleValue 

22. - longLongValue

Returns the long long value of the receiver’s text.

- (long long)longLongValue 
//11.字符串和数值类型转换
        
//1.将字符串 @"123"转换成整数123
        
int value1 = [@"123"intValue];//从第一个字符开始读 如果遇到除空格之外的字符时,将前面的空格忽略掉继续往下找,读取数字,知道遇到非数字.
        
NSLog(@"%d",value1);
        
float value2 = [@"123"floatValue];
        
NSLog(@"%f",value2);
    
//12.将数字转为字符串对象
        
NSString *str12 = [NSString stringWithFormat:@"%f",5.2];//5.2转换为字符串对象

23. - uppercaseString

Returns a uppercased representation of the receiver.

- (NSString *)uppercaseString

24. - lowercaseString

Returns lowercased representation of the receiver.

- (NSString *)lowercaseString

25. - capitalizedString

Returns a capitalized representation of the receiver.

- (NSString *)capitalizedString 

//字符串大小写转换
        
//1.@"lan OU"全部转换成大写
        
NSString *upperString = [@"lan ghasgda HGASIDHH JHFWIEFH J  OU" uppercaseString];
        
NSLog(@"upperString = %@",upperString);
        
        
//2.@"lan OU"全部转换成小写
        
NSString *lowerString = [@"lan  SJA Hjknjkjnkdj sdjkjsd OU" lowercaseString];
        
NSLog(@"lowerString = %@",lowerString);
        
//2.@"lan OU"首转换成大写
        
NSString *capitilizedString = [@"lan bdfh bsdjksbajf jksdbfjkwdbfjk  OU" capitalizedString];
        
NSLog(@"capitilizedString = %@",capitilizedString);
下面为上述例子的输出结果:
2014-08-06 20:45:34.709 LessonNSString[5696:303] str1 = iPhone5
20
14-08-06 20:45:34.729 LessonNSString[5696:303] str2 = iPhone4
2014-08-06 20:45:34.729 LessonNSString[5696:303] 0x100002178
2014-08-06 20:45:34.730 LessonNSString[5696:303] 7
2014-08-06 20:45:34.730 LessonNSString[5696:303] n
2014-08-06 20:45:34.730 LessonNSString[5696:303] isPrefix = 1
2014-08-06 20:45:34.731 LessonNSString[5696:303] isSuffix = 1
2014-08-06 20:45:34.731 LessonNSString[5696:303] {0, 4}
2014-08-06 20:45:34.732 LessonNSString[5696:303] subString = company
2014-08-06 20:45:34.732 LessonNSString[5696:303] subString = lanou
2014-08-06 20:45:34.733 LessonNSString[5696:303] subString3 = lanou
2014-08-06 20:45:34.733 LessonNSString[5696:303] newStr6 = lanouhenan
2014-08-06 20:45:34.734 LessonNSString[5696:303] newStr7 = lanouhenan9ban
2014-08-06 20:45:34.734 LessonNSString[5696:303] newStr8 = lanoulanouhenan9ban
2014-08-06 20:45:34.734 LessonNSString[5696:303] newStr8 = lan 
牛逼牛逼牛逼牛逼牛逼牛逼牛逼牛逼 isabigcompany
2014-08-06 20:45:34.735 LessonNSString[5696:303] lan 
牛逼ououououououou isabigcompany
2014-08-06 20:45:34.738 LessonNSString[5696:303] -1
2014-08-06 20:45:34.738 LessonNSString[5696:303] 123
2014-08-06 20:45:34.739 LessonNSString[5696:303] 123.000000
2014-08-06 20:45:34.739 LessonNSString[5696:303] upperString = LAN GHASGDA HGASIDHH JHFWIEFH J  OU
2014-08-06 20:45:34.739 LessonNSString[5696:303] lowerString = lan  sja hjknjkjnkdj sdjkjsd ou
2014-08-06 20:45:34.740 LessonNSString[5696:303] capitilizedString = Lan Bdfh Bsdjksbajf Jksdbfjkwdbfjk  Ou
























 
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 行驶证累计记分满12分后怎么办 行车证丢了被交警查到怎么办 手机摔了一下一半黑屏了怎么办 三星手机的显示屏插头坏了怎么办? 被普通的手机维修店骗了怎么办? 手机外屏裂了内屏进水了怎么办 小米2s手机忘了解锁图案怎么办 红米note5手机屏烂了怎么办 网上买好高铁票身份证没带怎么办 高铁票买好了身份证丢了怎么办 苏州园区社保卡丢了怎么办 大学办的社保卡丢了怎么办 毕业六年了大学社保卡丢了怎么办 医保卡丢了补办后卡里余额怎么办 银行卡丢了记不住卡号怎么办 哈尔滨医保卡挂失后又找到了怎么办 孩子在哈尔滨户口在外地医保怎么办 椒江二桥通行证被扣走了怎么办 住建委查到买房材料不真怎么办 房子租出去被别人又租出去了怎么办 在成都乘出租车房产证掉了怎么办 电信不限量卡限网速了怎么办 only实体店换货没有小票怎么办 运管所包车单不给盖章怎么办 上海留学生落户过了取号时间怎么办 电信固话怎么办才能显示自己公司 日本跟团签证没有资产证明怎么办 摇号手机号换了密码忘了怎么办 小客车摇号的账号密码忘了怎么办 去银行交违章罚款单子丢了怎么办 我的身份证被别人办了信用卡怎么办 北京驾驶证在深圳扣了分怎么办 c照一次被扣12分怎么办 教师资格证认定申请表填错了怎么办 外地车在北京违章没有牡丹卡怎么办 护士辞职了原单位不给延续怎么办 护士证注册的单位倒闭了怎么办 护士证注册的医院倒闭了怎么办 显示发货了但没物流信息怎么办 考科目三被别人举报了怎么办 科目一考了5没过怎么办