zoukankan      html  css  js  c++  java
  • NSScanner 扫描字符串

    两个常用于扫描字符串的方法

      //'指针'只移动一个位置,判断当前所指的字符是否是目标字符@"x", 若是则存入result中,返回YES,否则NO
    BOOL res = [scanner scanString:@"x" intoString:&result];
    //'指针'从开头一直扫描到有首次出现目标字符@"x"为止,'指针'停留在目标@"x"之前, 将目标字符前面的全部内容存入result中 BOOL res1
    = [scanner scanUpToString:@"x" intoString:&result];

    例子:

    1.  在iOS中使用HTML格式的字符串,去掉所有<>中的内容

    NSString *str = @"我爱你<lalala>大发<大大发>《》<adsfad>asfd";
    
    NSScanner *scanner = [NSScanner scannerWithString:str]; // 初始化一个NSScanner对象
    
    NSString *text = @""; // 用来存储查询到的字符串
    
    while (scanner.isAtEnd == NO) { // 判断是否扫描完毕
    
        [scanner scanUpToString:@"<" intoString:nil]; // 查找字符串中的@"<"子串,并将scanLocation停留在@"<"的首个字符的位置上
    
        [scanner scanUpToString:@">" intoString:&text]; // 查找字符串中的@">"子串,并截取@"<"到@">"的子串(不包括@">")
    
        // 将扫描到的<>中的内容全部替换成@""
    
        str = [str stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%@>", text] withString:@""];
    
    }
    
    NSLog(@"%@", str);
    

      

    2. 输出所有<>中的内容

    
    NSString *str = @"我爱你<lal ala> 大发  <大大发>《》<adsfad>asfd";
    
    NSScanner *scanner = [NSScanner scannerWithString:str]; // 初始化一个NSScanner对象
    
    NSString *text = @""; // 用来存储查询到的字符串while (scanner.isAtEnd == NO) { // 判断是否扫描完毕
    
        [scanner scanUpToString:@"<" intoString:nil]; // 查找字符串中的@"<"子串,并将scanLocation停留在@"<"的首个字符的位置上
    
        [scanner scanString:@"<" intoString:nil];
    
        [scanner scanUpToString:@">" intoString:&text]; // 查找字符串中的@">"子串,并截取@"<"到@">"的子串(不包括@">")
    
        NSLog(@"%@", text);
    
    }

    参考: 

    https://blog.csdn.net/qq_21649645/article/details/43971425

  • 相关阅读:
    Linux私房菜——防火墙部分笔记
    ubuntu
    序列求和
    圆的面积
    Fibonacci数列
    JavaScript中定义数组
    C语言中的EOF
    jQuery获取的值去掉px
    jQuery中单引号和双引号的使用
    jQuery报错:Uncaught ReferenceError: $ is not defined
  • 原文地址:https://www.cnblogs.com/daxueshan/p/10040464.html
Copyright © 2011-2022 走看看