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

  • 相关阅读:
    Pure-ftpd无法连接到服务器 425错误
    jQuery 取选中的radio的值方法
    Linux中RM快速删除大量文件/文件夹方法
    CSS(七):浮动
    CSS(六):盒子模型
    CSS(五):背景、列表、超链接伪类、鼠标形状控制属性
    CSS(四):字体和文本属性
    CSS三:CSS的三种引入方式
    CSS(二):选择器
    CSS(一):CSS简介和基本语法
  • 原文地址:https://www.cnblogs.com/daxueshan/p/10040464.html
Copyright © 2011-2022 走看看