OC字符串和数值

一、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];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值