iOS截取字符串(NSString)

来源:互联网 发布:php mysql 上传视频 编辑:程序博客网 时间:2024/05/24 06:28

截取字符串是很常用的功能,NSString的截取主要有三种方式(下面说的字符串字符下标都是从0开始数):

  • 截取某个下标之前的字符串,结果不包含下标对应的字符
  • 截取某个下标之后的字符串,结果包含下标对应的字符
  • 截取一段字符串
实现效果如下图:




下面分别说明:

1、截取某个下标之前的字符串,结果不包含下标对应的字符

代码如下:
    // 原字符串    NSString *originalStr = @"Hello World";    // 下标之前的子字符串,不含下标对应的字符    NSString *toStr = [originalStr substringToIndex:5];    // 结果为“Hello”

这里字母"o"对应的下标为4,因为结果不包含下标对应的字符,所以要截取5之前的字符串。

2、截取某个下标之后的字符串,结果包含下标对应的字符

代码如下:
    // 原字符串    NSString *originalStr = @"Hello World";    // 下标之后的子字符串,包含下标对应字符    NSString *fromStr = [originalStr substringFromIndex:6];    // 结果为“World”

这里字母”W“对应的下标为6,因为结果包含下标对应的字符,所以从6开始截取。


3、截取一段字符串

代码如下:
    // 原字符串    NSString *originalStr = @"Hello World";    // 下标之间的子字符串:第一个参数为开始下标,第二个参数为长度    NSString *subStr = [originalStr substringWithRange:NSMakeRange(6, 2)];    // 结果为“Wo”

这里用到了一个Range类,这个方法有两个参数,第一个是截取的开始下标,”W“的下标为6,所以这里是从6开始;第二个参数,以前我以为是结束的下标,但是用起来频频闪退,后来才发现是表示长度,也就是我这里截取从下标6开始2个长度的字符,所以结果是”Wo“。



可以在我的GitHub下载我的Demo工程:https://github.com/Cloudox/SubStringDemo 有帮助的话欢迎Star和Fork~

3 0
原创粉丝点击