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

常用的可变字符串处理实例方法
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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值