OC字符串和数值

来源:互联网 发布:免费的数据恢复工具 编辑:程序博客网 时间:2024/06/05 10:35

一、NSString
  C语言中,字符串是char(ASCII码)字符组成。
  OC中,字符串是由unichar(Unicode)字符组成。
  NSString:不可变字符串,创建以后,内容和长度不能更改。
  NSMutableString:可变字符串,创建以后,内容还可以修改。
  创建一个NSString对象:
  1. 初始化方法

NSString *s1 = [[NSString alloc] initWithFormat:@"abc"];

  format –格式串(使用方式与C语言格式化输出函数printf相似)。
  2. 便利构造器

NSString *s1 = [NSString stringWithFormat:@"abc"];

  3. 字面量–笑笑语法,语法糖

NSString *str = @"abcdef";

  获取字符串长度:

NSString *str = @"abcdefg";unsigned long strlength = [str length];

  获取字符串中字符:

NSString *str = @"abcdefg";unichar c = [str characterAtIndex:5];

  比较字符串是否相等:

NSString *s1 = @"abd";NSString *s2 = @"abc";BOOL isEqual = [s1 isEqualToString:s2];

  字符串比较:

//(Ascll码逐个比较大小,s1>s2值为1)NSComparisonResult result = [s1 compare:s2];

  获取子串:

str = [str substringFromIndex:2];//截取子串 substringFromIndex:从给定的下标开始一直到最后(包含该下标对应的字符).str = [str substringToIndex:5];//substringToindex : 从头开始一直到给定的下标停止,得到对应的子串(不包含该下标对应的字符).//NSRange 的成员变量//location:起始位置(包含该位置)//length 从开始位置开始往后的长度.str = [str substringWithRange:NSMakeRange(2, 4)];

  字符串拼接:

NSString *s1 = @"write the code";NSString *s2 = @" change the world";NSString *newStr = [s1 stringByAppendingString:s2];

  字符串替换:

NSString *str = @"hello, world";NSString *newStr = [str stringByReplacingCharactersInRange:NSMakeRange(3, 2) withString:@"ios"];

  字符串转化为int类型:

NSString *s1 = @"hello";NSString *s2 = @"100";NSInteger v1 = [s1 integerValue];NSInteger v2 = [s2 integerValue];

  字符串全部大写:

NSString *str = @"hello, world";NSString *upper = [str uppercaseString];

  字符串全部小写:

NSString *lower = [upper lowercaseString];

  首字母大写:

NSString *captital = [lower capitalizedString];

  判断字符串前缀后缀:

NSString *url = @"www.baidu.com";BOOL success = [url hasPrefix:@"www"];BOOL isSuccess = [url hasSuffix:@"com"];

二、NSMutableString
  NSMutableString 是 NSString类的子类。可以对原字符串对象进行增、删、改等操作。
  注意:语法糖语法创建的对象只能是不可变的。
  创建可变字符串对象:

//初始化方法NSMutableString *mstr = [[NSMutableString alloc] initWithCapacity:1];//便利构造器NSMutableString *mstr1 = [NSMutableString stringWithCapacity:1];

  字符串拼接:

[mstr appendFormat:@"abc"];

  插入字符串:

[mstr insertString:@"iOS" atIndex:1];

  删除字符串:

[mstr deleteCharactersInRange:NSMakeRange(2, 1)];

  字符串替换:

[mstr replaceCharactersInRange:NSMakeRange(1, 2) withString:@"windows"];

  重置字符串:

[mstr setString:@"abc"];

三、NSNumber
  NSNumber:实现基本数据类型与OC对象类型的相互转化。

int a = 100;NSNumber *intNumber = [NSNumber numberWithInt:a];int b = [intNumber intValue];

  语法糖写法:(只能转化为对象类型,不能对象类型转化为基本数据类型)

NSNumber *n = @(200);NSNumber *n1 = @(a);

四、NSValue
  NSValue:完成结构体变量和对象类型之间的相互转化。

NSRange range = {10, 5};NSValue *rangeValue = [NSValue valueWithRange:range];NSRange range1 = [rangeValue rangeValue];
原创粉丝点击