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