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



  • 相关阅读:
    Java for LeetCode 229 Majority Element II
    Java for LeetCode 228 Summary Ranges
    Java for LeetCode 227 Basic Calculator II
    Java for LintCode 颜色分类
    Java for LintCode 链表插入排序
    Java for LintCode 颠倒整数
    Java for LintCode 验证二叉查找树
    Java for LeetCode 226 Invert Binary Tree
    Java for LeetCode 225 Implement Stack using Queues
    Java for LeetCode 224 Basic Calculator
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7150019.html
Copyright © 2011-2022 走看看