//

//  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. Maven 创建多模块工程

    1. 创建父项目 new -->project-->maven-->maven Project,然后下一步, 进入new maven Project的Select project n ...

  2. Apache 配置 Basic 认证

    /* * 环境:WAMP( Windows7 + WampServer2.2(Apache 2.2.21)) */ 配置过程: ① 生成用户文件,文件路径可以使用绝对路径,也可以使用相对路径 进入 a ...

  3. [ PHP+jQuery ] ajax 多级联动菜单的应用:电商网站的用户地址选择功能 ( 二 ) - 仿亚马逊下拉面板

    /** jQuery version: 1.8.3 Author: 小dee Date: 2014.11.8 */ 接上一篇博客. 实现带缓存的仿亚马逊下拉面板 效果图: 图1 初始 图2 点击省份 ...

  4. Xamarin学习资源收集

    推荐入门视频 跨行動平台App開發概觀- 使用Xamarin+Visual Studio https://www.youtube.com/watch?v=ELuFTTn1gS4 中文产品介绍http: ...

  5. wordpress the_date 方法 偶尔为空的问题

    估计很多人遇到这个问题: 一来是the_title(),the_permalink(),the_date()一路用下来,很正常也很正确 不爱读官方文档,因为文档中有个特别提示 文档:http://co ...

  6. 【mysql的紧急应用】

    1. 字符串替换 今天老板说要将商品表title中的"AAA"全部改成"BBB",于是乎,百度得到答案. UPDATE goods set title=REPL ...

  7. 【转】Unity 解析Json字符串

    http://blog.csdn.net/qq_15267341/article/details/52013190 LitJSON使用很简单,两个步骤: 1 将LitJSON.dll文件拖动到unit ...

  8. 0011 SDK测试方法&ADB语法

    h1.移动云OSS SDK测试方法,包含环境搭建 android  oss sdk 测试方法 1.          搭建测试环境 1.     A ndroid模拟器需要jdk1.6 2.      ...

  9. MyBatis-Generator 最佳实践

    为数据库中的表A生成A.java, A.java, A.xml 由于该插件生成的A.java, A.xml会带有example, 不希望生成example 数据库中的字段写有注释, 希望注释能自动生成 ...

  10. 【Java 基础篇】【第六课】接口interface

    Java提供的这个interface的语法,目的就是将接口从类中剥离出来,构成独立的主体. 首先加入我们定义了这个杯子接口: interface Cup { void addWater(int w); ...