Objective-c 字符串常用函数

来源:互联网 发布:qq主题软件 编辑:程序博客网 时间:2024/05/22 10:46

不可变字符串:NSString

字符串的创建

  • 通过alloc和init创建一个空的字符串
NSString *str2 = [[NSString alloc] init];
  • 通过字面方式初始化方法创建字符串
NSString *str = @"hello World";
  • 使用系统的便利构造器创建字符串
NSString *str = [NSString stringWithString:@"hello Word"];
  • 注:使用系统的便利构造器和初始化方法创建字符串都能正常使用,但是编译器更倾向于字面方式初始化字符串.

字符串的索引

NSString *str = @"This is text code";
  • substringFromIndex:从索引位置开始,索引后面的字符.
NSLog(@"%@",[str substringFromIndex:5]);//2015-07-20 19:01:11.983 OC05_NSString[1030:127553] is text code
  • substringToIndex:从字符串开始位置索引,知道索引位置结束.
NSLog(@"%@",[str substringToIndex:5]);//2015-07-20 19:01:11.984 OC05_NSString[1030:127553] This

截取指定字符串

  • NSRange是一个结构体,提供了两个成员变量,一个是location的起始位置,一个是截取字符串的长度
  • 从字符串的2号索引开始,截取4位字符.
NSString *str = @"This is text code";NSRange range = {2,4};NSLog(@"%@",[str substringWithRange:range]);

判断两个字符是否相等

  • (BOOL)isEqualToString:(NSString *)aString
NSString *str1 = @"hello World";NSString *str2 = @"hello World";NSLog(@"%d",[str1 isEqualToString:str2]);

查找字符串的前缀和后缀

NSString *str = @"Hello World";NSString *preFix = @"He";NSString *suffFix = @"ld";
  • 比较是否有前缀
NSLog(@"%d",[str hasPrefix:preFix]);
  • 比较是否有后缀
NSLog(@"%d",[str hasSuffix:suffFix]);

把字符串变成基本的数据类型

NSString *strNum = @"12345";NSInteger num = [strNum integerValue];NSLog(@"%ld",num);

字符串拼接

  • stringWithFormat:方法可以把任意类型转换成字符串类型,可以进行拼接.
CGFloat g =3.14;NSInteger a = 100;NSString *str = [NSString stringWithFormat:@"%ld, %g, %@",a,g,@"Hello World"];NSLog(@"%@",str);
  • stringByAppendingString:方法可以实现两个字符串的拼接
NSString *str = @"AAAA"; *str1 = @"BBBB";NSString *newStr = [str stringByAppendingString:str1];NSLog(@"%@",newStr);

字符串大小写控制

  • 字符串全部大写
NSString *str = @"Hello World";NSLog(@"%@",[str uppercaseString]);
  • 字符串全部小写
NSLog(@"%@",[str lowercaseString]);
  • 字符串首字母大写
NSLog(@"%@",[str capitalizedString]);

字符串的比较

  • 比较有三种结果,升序ASC 相同same值为0 降序值为1
NSString *str = @"nihao";NSString *newStr = @"buhao";NSLog(@"%ld",[str compare:newStr]);

字符串的替换

NSString *str = @"呵呵呵呵";NSString *strNew = [str stringByReplacingOccurrencesOfString:@"呵" withString:@"呜"];NSLog(@"%@",strNew);

可变字符串:NSMutableString

  • 初始化创建,使用字面量的方式创建的是不可变的字符串,只能拿不可变的指针来接收.
NSMutableString *str = [[NSMutableString alloc] init];NSMutableString *str = @"Hello World";NSMutableString *str = [[NSMutableString alloc] initWithString:@"Hello World"];NSLog(@"%@",str);

便利构造器

NSMutableString *str = [NSMutableString stringWithString:@"Hello World"];NSLog(@"%@",str);

插入

NSMutableString *str = [NSMutableString stringWithString:@"AAAAAAAAAAA"];[str insertString:@"B" atIndex:3];NSLog(@"%@",str);

字符串的替换

  • NSMakeRange(2,5)这个是5个换1个
[str replaceCharactersInRange:NSMakeRange(2,5) withString:@"B"];NSLog(@"%@",str);

字符串的设置

  • setString是字符串的设置
[str setString:@"C"];NSLog(@"%@",str);

字符串的拼接

  • appendString:字符串的拼接.
[str appendString:@"E"];NSLog(@"%@",str);NSString *strNew = [str stringByAppendingString:@"F"];
  • 可变字符串在方法上一般都是没有返回值的,都是对自身的内容的修改,在访问的时候字符串已经发生了变化,但是不可变字符串会产生一个新的字符串.
0 0
原创粉丝点击