iOS开发 - NSScanner的用法

<span style="font-size:18px;">
    NSString *bananas = @"123.321abc137d efg hij kl";
    NSString *separatorString = @"fg";
    BOOL result;

    NSScanner *aScanner = [NSScanner scannerWithString:bananas];

    //扫描字符串
    //扫描到指定字符串时停止,返回结果为指定字符串之前的字符串
    NSLog(@"扫描仪所在的位置:%lu", aScanner.scanLocation);
    NSString *container;
    result = [aScanner scanUpToString:separatorString intoString:&container];
    NSLog(@"扫描成功:%@", [email protected]"YES":@"NO");
    NSLog(@"扫描的返回结果:%@", container);
    NSLog(@"扫描仪所在的位置:%lu", aScanner.scanLocation);

    //扫描整数
    //将会接着上一次扫描结束的位置继续扫描
    NSLog(@"-------------------------------------1");
    NSLog(@"扫描仪所在的位置:%lu", aScanner.scanLocation);
    NSInteger anInteger;
    result = [aScanner scanInteger:&anInteger];
    NSLog(@"扫描成功:%@", [email protected]"YES":@"NO");
    NSLog(@"扫描的返回结果:%ld", anInteger);
    NSLog(@"扫描仪所在的位置:%lu", aScanner.scanLocation);

    //扫描整数
    //将扫描仪的位置置为首位置
    //扫描仪默认会接着上一次扫描结束的位置开始扫描,而不是重新从首位置开始
    //当扫描到一个不是整数的字符时将会停止扫描(如果开始扫描的位置不为整数,则会直接停止扫描)
    NSLog(@"-------------------------------------2");
    aScanner.scanLocation = 0;      //将扫描仪的位置置为首位置
    NSLog(@"扫描仪所在的位置:%lu", aScanner.scanLocation);
    NSInteger anInteger2;
    result = [aScanner scanInteger:&anInteger2];
    NSLog(@"扫描成功:%@", [email protected]"YES":@"NO");
    NSLog(@"扫描的返回结果:%ld", anInteger2);
    NSLog(@"扫描仪所在的位置:%lu", aScanner.scanLocation);

    //扫描浮点数
    //当扫描到一个不是整数的字符时将会停止扫描(如果开始扫描的位置不为整数,则会直接停止扫描)
    NSLog(@"-------------------------------------3");
    aScanner.scanLocation = 0;      //将扫描仪的位置置为首位置
    NSLog(@"扫描仪所在的位置:%lu", aScanner.scanLocation);
    float aFloat;
    result = [aScanner scanFloat:&aFloat];
    NSLog(@"扫描成功:%@", [email protected]"YES":@"NO");
    NSLog(@"扫描的返回结果:%f", aFloat);
    NSLog(@"扫描仪所在的位置:%lu", aScanner.scanLocation);

    NSLog(@"-------------------------------------4");
    NSLog(@"所扫描的字符串:%@", aScanner.string);
    NSLog(@"扫描仪所在的位置:%lu", aScanner.scanLocation);
    NSLog(@"是否扫描到末尾:%@", [email protected]"YES":@"NO");

</span>

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

时间: 2024-11-13 09:33:18

iOS开发 - NSScanner的用法的相关文章

iOS开发宝典:String用法大全

本文转载至 http://mobile.51cto.com/iphone-395171.htm 新手们还在等什么?这是一本属于你的iOS开发"字典",在这里你可以查到字符串.数组.字典的各式各样的用法与详述. AD:干货来了,不要等!WOT2015 北京站演讲PPT开放下载! 一.NSString 创建字符串.  NSString *astring = @"This is a String!"; 创建空字符串,给予赋值.  NSString *astring = [

iOS开发 Block的用法

一:在ios,blocks是对象,它封装了一段代码,这段代码可以在任何时候执行.Blocks可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值.它和传统的函数指针很类似,但是有区别:blocks是inline运行时使用的,并且它对局部变量是只读的;而在c语言中函数指针是在编译时就运行. int (^myBlock)(int ,int) = ^(int a, int b){return a ;}; 等号左边表示block的定义 ,右边表示 block的实现体 左边 int 表示 返

iOS开发 - NSScanner的使用方法

NSScanner这个类,用于在字符串中扫描指定的字符. 能够在创建NSScanner时指定它的string属性.然后scanner会依照要求从头到尾地扫描这个字符串中的每一个字符.扫描动作会使扫描仪从头到尾在字符串中移动.直到扫描完整个字符串或扫描到指定的内容. 扫描停止后,扫描仪的位置并不会被置为字符串開始的位置. 下一次的扫描操作将会从上一次扫描停止的位置開始.在必要的情况下能够手动操作.scanLocation来指定扫描開始的位置. NSString *bananas = @"123.3

iOS开发-beginUpdates &amp;&amp; endUpdates用法

本篇主要介绍使用beginUpdates和endUpdates方法对UITableView的Cell进行批量操作更新.首先给出过程中依赖的数据源: self.arraySections = [NSMutableArray arrayWithCapacity:0]; NSMutableArray *array1 = [NSMutableArray arrayWithObjects:@"Apple",@"Alice",@"Apache",@"

ios开发入门篇(四):UIWebView结合UISearchBar的简单用法

 UIWebView是ios开发中比较常用的一个控件.我们可以用它来浏览网页.打开文档等,今天笔者在这里简单介绍下UIWebView和UISearchBar结合起来的用法,做一个简单的类浏览器. 一:首先定义这两个控件,并在.h文件中实现UISearchBarDelegate,UIWebViewDelegate两个代理 @interface TestView : UIViewController<UISearchBarDelegate,UIWebViewDelegate> @property(

iOS开发系列之一 - UIButton 用法小结

// 初始化按钮并设置类型 UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; // 能够定义的UIButton类型有以下6种: // typedef enum { // UIButtonTypeCustom = 0, 自定义风格 // UIButtonTypeRoundedRect, 圆角矩形 // UIButtonTypeDetailDisclosure, 蓝色小箭头按钮,主要做详细说明用 // UIButto

iOS开发系列之二 - UILabel 用法小结

// 初始化标签 UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 150)]; // 设置标签文字 label.text = @"This is a test text.This is a test text.This is a test text."; // 设置标签文字字体 // 使用系统字体 label.font = [UIFont systemFontOfSize:20]; //

iOS开发多线程篇—GCD的常见用法

iOS开发多线程篇—GCD的常见用法 一.延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法 [self performSelector:@selector(run) withObject:nil afterDelay:2.0]; // 2秒后再调用self的run方法 (2)使用GCD函数 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispat

李洪强iOS开发之 - enum与typedef enum的用法

李洪强iOS开发之 - enum与typedef enum的用法 01 - 定义枚举类型 上面我们就在ViewController.h定义了一个枚举类型,枚举类型的值默认是连续的自然数,例如例子中的TO_BE_PAID=0,//开始   那么其后的就依次为1,2,3....所以一般只需要设置枚举中第一个的值就可以. 注意: 在定义枚举类型的时候一定要定义在.h中的#imort 和€interface之间定义,位置不能错了 02 - 定义操作类型 enum和enum typedef 在IOS中的使