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

  • 相关阅读:
    C++学习总结 复习篇2
    C++ 学习总结 复习篇
    Git 安装与使用
    前两周工作总结
    [bzoj1033] [ZJOI2008]杀蚂蚁antbuster
    [bzoj1031] [JSOI2007]字符加密Cipher
    [bzoj1030] [JSOI2007]文本生成器
    [bzoj1029] [JSOI2007]建筑抢修
    [bzoj1028] [JSOI2007]麻将
    [bzoj1026] [SCOI2009]windy数
  • 原文地址:https://www.cnblogs.com/daxueshan/p/10040464.html
Copyright © 2011-2022 走看看