NSString的截取

//

//  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

时间: 2024-10-24 11:36:27

NSString的截取的相关文章

iOS中NSString的截取,拼接,查询以及分割

一.NSString的截取 1.从字符串开头开始截取到指定位置(不包含该位置) NSString * string = @"abcdef"; NSString * subString1 = [string substringToIndex:3]; NSLog(@"%@", subString1); 输出abc 2.从字符串指定位置开始截取到最后(包含该位置) NSString * string = @"abcdef"; NSString * su

iOS常用技术-微博字符串的截取

////  NSString+Range.h//  字符串作业////  Created by andezhou on 15/12/17.//  Copyright © 2015年 周安德. All rights reserved.// #import <Foundation/Foundation.h> @interface NSString (Range) // 截取话题##- (NSArray *)queryTopicFromString:(NSString *)topic; // 截取表

swift中字符串截取方法(substring)

下面介绍2种swift的字符串截取方法,实际上用到了substringFromIndex,substringToIndex,substringWithRange 1.将String转化为NSString再截取,代码如下:  var s="1234567890"var ns1=(s as NSString).substringFromIndex(5)var ns2=(s as NSString).substringToIndex(4)var ns3=(s as NSString).sub

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

String是Swift里新增加的类型,它与原来的NSString可以很方便地互相转换.但在实际开发中,我们该如何选择? 1,能使用String类型就尽量使用String类型,原因如下: (1)现在Cocoa里所有的API都能接受和返回String类型,所以也没必要特地转换下. (2)Swift的String是struct,而NSString类是NSObject,所以String更符合字符串“不变”这一特性.同时,在不触及NSString特有操作和动态特性的时候,使用String的方法,在性能上

Foundation-03_字符串_NSString

NSString :不可变字符串 创建字符串的方法: NSString *s1 = @"123"; NSString *s2 = [[NSString alloc] initWithString:@""];//没人这么写 NSString *s3 = [[NSString alloc] initWithFormat:@"age is %d",10]; //C字符串转换成OC字符串     NSString *s4 = [[NSString all

键盘字数限制

#pragma mark - UITextView Delegate - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { UITextRange *selectedRange = [textField markedTextRange]; //获取高亮部分 UITextPosition *pos =

详释(常见UITextView 输入之字数限制)之一---固定长度

好久没有写文章了,今天上来写写,发现增多了markDown编辑器.挺不错,后续研究一下,今天暂写文章先.好了,不废话. 如题,相信大家看到这个标题都不想看文章了,这有什么好说的,网上一搜一大把.好吧,自认为是一搜一大把的跳过,有兴趣的就看完...... 对于限制UITextView输入的字符数.相信大家在网上见得最多的是实现UITextViewDelegate - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSR

UITextView的动态适应高度处理

本文章主要是处理自适应高度的. 想到自适应高度,想必大家都知道使用 boundingRectWithSize:options:attributes 来计算. 嗯确实,这是个利器.其本上能正确返回字体的rect.但对于UITextView 似乎使用此方法计算出来的结果比实际显示的要小.为什么呢? 我个人也在网上搜了好多,但都不尽人意.于是乎想是不是UITextView做了些额外的处理,比如把行高,边框宽也加在一起了.顺着这条线索一路摸,果然,找出了点门道. 如果你对UITextView熟悉的话,你

ios9基础知识总结(foundation)笔记

类:NSObject .NSString.NSMutableString.NSNumber.NSValue.NSDate.NSDateFormatter.NSRange.Collections:NSSet.NSArray(Ordered.Copy).NSMutableArray.NSMutableSet.NSDictionary ====================================================================================