//

//  main.m

//  02-字符串的获取

//

//  Created by apple on 14-3-20.

//  Copyright (c) 2014年 apple. All rights reserved.

//

#import <Foundation/Foundation.h>

/*

1.获取字符串

2.根据索引获得单个字符

3.根据索引获得一个子串

4.根据字符串获得,该字符串在另一个字符串中的索引位置

5.根据字符串,获得字符串的范围

*/

int main(int argc, const char * argv[])

{

@autoreleasepool {

//1.获取字符串的长度

NSString * str = @"abcd";

NSUInteger length =   [str length]; //str.length;

NSLog(@"字符串长度 %lu",length);

//2.根据索引获得单个字符

NSString * str2 = @"www.itcast.cn";

//如果你给定的索引值,超出了字符串的长度,就会导致异常Range or index out of bounds

//如果你给入的是一个负数那么获得的值就是一个乱码

unichar c = [str2 characterAtIndex:2];//索引值是从 0 开始的

NSLog(@"获得字符 %c",c);

//3.根据索引获得字符串的一个子串

NSString * str3 = @"www.itcast.com";

//substringFromIndex 从给定的索引开始(包含该索引位置)截取到字符串末尾

NSString * tmpStr = [str3 substringFromIndex:3];

NSLog(@"substringFromIndex %@ ",tmpStr);

//substringToIndex截取字符串到给定索引的位置结束,(不包含该索引位置);qishisuo

NSString * tmpStr2 = [str3 substringToIndex:3];

NSLog(@"substringToIndex %@",tmpStr2);

//4.截取字符串的某一段/Volumes/aplle/Desktop/共享课堂/0320/代码/01-NSString类/01-NSString类.xcodeproj

NSRange rang = {4,6};

//location (起始索引的位置,包含该索引) length(要截取的长度)

NSString * tmpStr3 = [str3 substringWithRange:rang];

NSLog(@"substringWithRange %@",tmpStr3);

//5.获得一个字符串的索引位置

NSString * tmpStr4 = @"it";//@"itcast";

NSRange tmpRange = [str3 rangeOfString:tmpStr4];

//可以使用NSStringFromRange 把一个Range结构体转换成字符串

//        NSLog(@"location = %d,length = %d",tmpRange.location,tmpRange.length);

//NSNotFound 没有找到

if (tmpRange.location == NSNotFound)

{

NSLog(@"tmpStr4 不在 Str3中");

}else

{

NSLog(@"rangeOfString %@",NSStringFromRange(tmpRange));

}

//6.获的一个字符串索引范围

NSRange tmpRange2 = [str3 rangeOfString:@"itcast" options:NSCaseInsensitiveSearch];

NSLog(@"rangeOfString1 %@",NSStringFromRange(tmpRange2));

}

return 0;

}

输出:

2016-12-14 11:34:00.723 02-字符串的获取[653:186979] 字符串长度 4

2016-12-14 11:34:00.724 02-字符串的获取[653:186979] 获得字符 w

2016-12-14 11:34:00.724 02-字符串的获取[653:186979] substringFromIndex .itcast.com 

2016-12-14 11:34:00.724 02-字符串的获取[653:186979] substringToIndex www

2016-12-14 11:34:00.725 02-字符串的获取[653:186979] substringWithRange itcast

2016-12-14 11:34:00.725 02-字符串的获取[653:186979] rangeOfString {4, 2}

2016-12-14 11:34:00.725 02-字符串的获取[653:186979] rangeOfString1 {4, 6}

Program ended with exit code: 0

NSString的截取的更多相关文章

  1. NSString字符串截取方法

    1.字符串 1> 字符串比较 NSString *a = @“hello”; NSString *b = [NSString stringWithFormat:@hello”]; if (a = ...

  2. iOS学习之字符串(NSString)的截取、匹配、分隔

    截取 NSString *str1 = @"this is zero"; 1.从第三个字符开始,截取长度为2的字符串.........注:空格算作一个字符 NSString *st ...

  3. Swift3.0语言教程分割字符串与截取字符串

    Swift3.0语言教程分割字符串与截取字符串 Swift3.0语言教程分割字符串 如果想要快速的创建一个数组,我们可以将字符串进行分割,分割后的内容将会生成一个数组.在NSString中有两个分割字 ...

  4. NSString 的常见方法

    NSString的常用方法 创建一个新字符串并将其设置为 path 指定的文件的内容,使用字符编码enc,在error上返回错误 + (id)stringWithContentsOfURL:(NSUR ...

  5. Swift - String与NSString的区别,以及各自的使用场景

    String是Swift里新增加的类型,它与原来的NSString可以很方便地互相转换.但在实际开发中,我们该如何选择? 1,能使用String类型就尽量使用String类型,原因如下: (1)现在C ...

  6. UITextView 输入字数限制

    本文介绍了UITextView对中英文还有iOS自带表情输入的字数限制,由于中文输入会有联想导致字数限制不准确所以苦恼好久,所以参考一些大神的博客终于搞定,欢迎大家参考和指正. 对于限制UITextV ...

  7. Foundation框架下的常用类:NSNumber、NSDate、NSCalendar、NSDateFormatter、NSNull、NSKeyedArchiver

    ========================== Foundation框架下的常用类 ========================== 一.[NSNumber] [注]像int.float.c ...

  8. Swift

    1.Swift项目与OC项目的区别 - Swift的类文件是以 .swift 结尾 - main.m 不见了,程序入口以 `@UIApplicationMain` - Swift中,代码都是写到 `{ ...

  9. Foundation

    类:NSObject .NSString.NSMutableString.NSNumber.NSValue.NSDate.NSDateFormatter.NSRange.Collections:NSS ...

随机推荐

  1. 块级&行内(内联)元素

    行内元素列表 <a>标签可定义锚 <abbr>表示一个缩写形式 <acronym>定义只取首字母缩写 <b>字体加粗 <bdo>可覆盖默认的 ...

  2. Visual Studio 常用插件

    一.IndentGuide 缩进线插件:每个缩进块首尾添加虚线,使代码看着整洁. 其他插件:继续推荐几款VisualStudio的插件 二.CodeRush code rush 是微软推出的一款VS2 ...

  3. IO的生命周期

    ● 将来自cache的数据封装成bio submit_bh->submit_bh_wbc 此时IO还在fs层 ● 进入block IO层 submit_bh_wbc->submit_io- ...

  4. ExtJS笔记4 容器与布局(Layouts and Containers)

    The layout system is one of the most powerful parts of Ext JS. It handles the sizing and positioning ...

  5. svn local obstruction, incoming add upon merge

    http://little418.com/2009/05/svn-local-obstruction-incoming-add-upon-merge.html If you've found this ...

  6. Gender, Genre, and Writing Style in Formal Written Texts

    http://u.cs.biu.ac.il/~koppel/papers/male-female-text-final.pdf Abstract.  This  paper  explores  di ...

  7. linux指定目录安装软件后,程序找不到共享库问题

    以svn为例,64位centos yum install subversion --installroot=/usr/svn/后 执行svn命令,报错svn: error while loading ...

  8. SQLite(快速上手版)笔记

    原文 1. SQL语法关键字 关键字 描述 Create Table 创建数据表 Alter Table 修改数据表 Drop Table 删除数据表 Create Index 创建索引 Drop I ...

  9. java.util.concurrent.CopyOnWriteArrayList

    import java.util.ArrayList; import java.util.List; import java.util.concurrent.ExecutorService; impo ...

  10. FTS抓包看L2CAP Connection的建立(二)

    1.概述     前面一篇博文已经介绍到远端设备对本地的Connection request进行了response,目前L2CAP的连接处于pending状态.这篇将继续抓取下面的一些packets, ...