小白学开发(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:0];

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

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

//
从索引开始,包括索引取后面的字符串

NSString *tmpstr2 = [str1
substringFromIndex:3];

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

NSString *tmpstr3 = [str1
substringToIndex:5];

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

NSRange s = {6,3};

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));

}

return 0;

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-05 07:09:34

小白学开发(iOS)OC_ 字符串的获取 (2015-08-11)的相关文章

小白学开发(iOS)OC_ 字符串重组(2015-08-13)

// //  main.m //  字符串重组 // //  Created by admin on 15/8/13. //  Copyright (c) 2015年 admin. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //      1. 多个数据拼接成一个字符串 int year = 2015

小白学开发(iOS)OC_ 字符串的比较判断(2015-08-12)

// //  main.m //  字符串的比较判断 // //  Created by admin on 15/8/13. //  Copyright (c) 2015年 admin. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //  1. 判断字符串是否为空 NSString *str = @&q

小白学开发(iOS)OC_基本数据类型转换成字符串(2015-08-12)

// //  main.m //  基本数据类型转换成字符串 // //  Created by admin on 15/8/13. //  Copyright (c) 2015年 admin. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //      基本数据类型:(int float,double

小白学开发(iOS)OC_ 字符串写入文件(2015-08-13)

// //  main.m //  字符串写入文件 // //  Created by admin on 15/8/13. //  Copyright (c) 2015年 admin. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { /* 将字符串写入到一个文件,并保存 > 需要写入文件的字符串内容

小白学开发(iOS)OC_ 常用结构体(2015-08-14)

// //  main.m //  常用结构体 // //  Created by admin on 15/8/13. //  Copyright (c) 2015年 admin. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //      1. 表示范围:NSRange 结构体 NSRange ran

小白学开发(iOS)OC_ @property 参数(2015-08-05)

// //  Person.h //  手动内存管理 // //  Created by admin on 15/8/5. //  Copyright (c) 2015年 admin. All rights reserved. // #import <Foundation/Foundation.h> #import "Car.h" @interface Person : NSObject /* @property 参数的作用 1. 生成set和get方法的声明 2. 生成s

小白学开发(iOS)OC_ 经常使用结构体(2015-08-14)

// //  main.m //  经常使用结构体 // //  Created by admin on 15/8/13. //  Copyright (c) 2015年 admin. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //      1. 表示范围:NSRange 结构体 NSRange r

小白学开发(iOS)OC_ block数据类型(2015-08-08)

// //  main.m //  block数据类型 // //  Created by admin on 15/8/12. //  Copyright (c) 2015年 admin. All rights reserved. // #import <Foundation/Foundation.h> #import "Calculate.h" //  定义一个函数 void test() { NSLog(@"test函数"); } int main(

小白学开发(iOS)OC_ 使用继承来扩充类(2015-08-07)

// //  main.m //  使用继承来扩充类 // //  Created by admin on 15/8/12. //  Copyright (c) 2015年 admin. All rights reserved. // /* 当在一个类中有太多的方法会显得非常复杂,为了清楚表示,我们可以创建类的一个分类(category)来扩充这个类 在其他面向对象语言中,使用继承关系类扩充一个类,然而这样最大的坏处就是耦合性太高 OC使用(category)来扩充一个类 注意:1. 只要在原类