zoukankan      html  css  js  c++  java
  • iOS开发

        NSScanner这个类,用于在字符串中扫描指定的字符。

    能够在创建NSScanner时指定它的string属性。然后scanner会依照要求从头到尾地扫描这个字符串中的每一个字符。扫描动作会使扫描仪从头到尾在字符串中移动。直到扫描完整个字符串或扫描到指定的内容。

        扫描停止后,扫描仪的位置并不会被置为字符串開始的位置。

    下一次的扫描操作将会从上一次扫描停止的位置開始。在必要的情况下能够手动操作.scanLocation来指定扫描開始的位置。


     

        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(@"扫描成功:%@", result?@"YES":@"NO");

        NSLog(@"扫描的返回结果:%@", container);

        NSLog(@"扫描仪所在的位置:%lu", aScanner.scanLocation);

        

        //扫描整数

        //将会接着上一次扫描结束的位置继续扫描

        NSLog(@"-------------------------------------1");

        NSLog(@"扫描仪所在的位置:%lu", aScanner.scanLocation);

        NSInteger anInteger;

        result = [aScanner scanInteger:&anInteger];

        NSLog(@"扫描成功:%@", result?@"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(@"扫描成功:%@", result?@"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(@"扫描成功:%@", result?@"YES":@"NO");

        NSLog(@"扫描的返回结果:%f", aFloat);

        NSLog(@"扫描仪所在的位置:%lu", aScanner.scanLocation);

        

        NSLog(@"-------------------------------------4");

        NSLog(@"所扫描的字符串:%@", aScanner.string);

        NSLog(@"扫描仪所在的位置:%lu", aScanner.scanLocation);

        NSLog(@"是否扫描到末尾:%@", aScanner.isAtEnd?

    @"YES":@"NO");



  • 相关阅读:
    集成学习
    逻辑斯谛回归
    【腾讯】【实习】【笔试】【数据分析师】2018.04.05
    C语言中scanf和printf的用法详解
    寻找一个数组中未出现的最小正整数(数组元素可重复)
    吃鸡问题中的的动态规划
    Coursera 深度学习 吴恩达 deep learning.ai 第三课 结构化机器学习项目 第二周 测试题目 Autonomous driving (case study)
    【转】P问题与NP问题详细解答加举例
    LeetCode 149. Max Points on a Line
    LeetCode 150. Evaluate Reverse Polish Notation
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7150019.html
Copyright © 2011-2022 走看看