//

//  main.m

//  字符串的获取

//

//  Created by admin on 15/8/13.

//  Copyright (c) 2015年 admin. All rights reserved.

//

#import <Foundation/Foundation.h>

/*

1. 获取字符串长度

2. 依据字符串索引获得单个字符    //
这里的索引 就是下标

3. 依据索引获得一个字符串

4. 依据子串获得子串在还有一个字符串中的索引位置

5. 依据字符串。获得字符串的范围

*/

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

@autoreleasepool {

//  1. 获取字符串长度

NSString *str1 = @"www.baidu.com";

NSUInteger length = [str1
length];  // NSUIteger 表示的是一个无符号的整型

NSLog(@"length = %lu",length);

/*  2. 依据索引获得字符串中的单个字符

注意:

> 给定的索引值必须在0到长度之间。否组会导致异常Range or index out of bounds

> 假设索引值为负。那么获得的值是个负数

*/

unichar c = [str1
characterAtIndex:];

NSLog(@"获得的字符串是:%c",c);

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

//
从索引開始。包含索引取后面的字符串

NSString *tmpstr2 = [str1
substringFromIndex:];

//
从开头取字符串到索引位置,不包含索引

NSString *tmpstr3 = [str1
substringToIndex:];

// NSRange是个结构体,取字符串的范围,第一个參数为从哪个索引值開始,第二个參数表示取多长

,};

NSString *tmpstr4 = [str1
substringWithRange:s];

NSLog(@"tmpstr2 = %@",tmpstr2);

NSLog(@"tmpstr3 = %@",tmpstr3);

NSLog(@"tmpstr4 = %@",tmpstr4);

//  4. 获得子串在还有一个字符串中的索引位置

NSString *tmpstr5 =
@"bai";

// 
在字符串中寻找子串。并将索引起始位置location和长度length存入到结构体中

NSRange tmpRange = [str1
rangeOfString:tmpstr5];

//  分别打印

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

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

NSString *tmpstr6 =
NSStringFromRange(tmpRange);

NSLog(@"tmpstr6 = %@",tmpstr6);

// 
推断是否找到

if (tmpRange.location ==
NSNotFound) {//enum {NSNotFound = NSIntegerMax};

NSLog(@"tmpstr5不在str1中");

}else

{

NSLog(@"rangeOfString %@",tmpstr6);

}

//  5. 获得子串索引范围

// 
第一个參数为子串,第二个參数为 选择搜索的方法

NSRange tmpRange2 = [str1
rangeOfString:@"com"
options:NSCaseInsensitiveSearch];

NSRange tmpRange3 = [str1
rangeOfString:@"com"];

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

NSLog(@"tmpRange3 = %@",NSStringFromRange(tmpRange3));

}

;

}


最新文章

  1. 关于 MonoDevelop on Linux 单步调试问题的解决
  2. git入门札记
  3. SQL数据库 开启时出现 数据库连接错误2,error:40的问题。如何解决
  4. 解决CentOS6.4 Docker &quot;Couldn&#39;t connect to Docker daemon ...&quot; 问题
  5. js 发红包
  6. MySQL &#183; 引擎特性 &#183; InnoDB 事务锁简介
  7. windows phone 8学习 - 选择器
  8. tcp/ip连接
  9. 关于php中,记录日志中,将数组转为json信息记录日志时遇到的问题总结
  10. python设计模式第二十四天【命令模式】
  11. Golang命令行拷贝文件
  12. Eclipse使用Maven创建Web时错误:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webap
  13. Java基础之多态性
  14. Java基础——线程
  15. 【设计模式】—— 外观模式Facade
  16. 先装VS2008之后,又装了2013,然后启动VS2008提示“Tools Version”有问题?
  17. centos7上安装redis
  18. 全球免费知名DNS服务器
  19. mysql5.7的密码
  20. 在虚拟机中连接oracle数据库报错ORA-12154,其他服务器连接无问题

热门文章

  1. CentOS6.8 RPM包安装快速zabbix22
  2. iTOP-4412开发板-LinuxC-继电器模块的测试例程
  3. Vuex的全面用法总结
  4. MIPS的寄存器、指令和寻址方式的分类
  5. eureka 注册中心
  6. crontab 每月最后一天执行命令
  7. 【leetcode-03】给定一个字符串,请你找出其中不含有重复字符的最长子串的长度
  8. 获取当前时间(日期格式) &amp;&amp; 获取当前加一年的时间(日期格式)
  9. spring springmvc 获取所有url
  10. 【原】常用shell命令