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

  //'指针'只移动一个位置,判断当前所指的字符是否是目标字符@"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

NSScanner 扫描字符串的更多相关文章

  1. NSScanner扫描字符串中()的内容

    //本事例去除小括号及其内部的内容 + (NSString *)changeStringWithString:(NSString *)string {  NSScanner*scanner = [NS ...

  2. 字符串处理(正则表达式、NSScanner扫描、CoreParse解析器)-备用

    搜索 在一个字符串中搜索子字符串 最灵活的方法 1 - (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptio ...

  3. 字符串处理(正则表达式、NSScanner扫描、CoreParse解析器)-b

    搜索 在一个字符串中搜索子字符串 最灵活的方法 1 - (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptio ...

  4. [Swift]Scanner字符串扫描类

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  5. NSScanner知悉 (转)

    http://blog.csdn.net/likendsl/article/details/7974761 NSScanner是一个类,用于在字符串中扫描指定的字符,尤其是把它们翻译/转换为数字和别的 ...

  6. iOS中NSScanner 的用法

    NSScanner是一个类,用于在字符串中扫描指定的字符,尤其是把它们翻译/转换为数字和别的字符串.可以创建NSScanner时制定他的String属性,然后scanner会按照你的要求从头到尾扫描这 ...

  7. NSScanner用法详解

    NSScanner类用于在字符串中扫描指定的字符,尤其是把它们翻译/转换为数字和别的字符串.可以在创建NSScaner时指定它的string属性,然后scanner会按照你的要求从头到尾地扫描这个字符 ...

  8. NSScanner-备

    注意:在扫描的时候,如果 空格是不需要扫描的,那么将会忽略空格. 如下代码:  1  NSString *string = @"my age is d 23    34.0";   ...

  9. [译] NSScanner:一个陌生的条件判断利器!

    NSScanner官方文档 NSScanner类是一个类簇的抽象父类,该类簇为一个从NSString对象扫描值的对象提供了程序接口. NSScanner对象把NSString 对象的的字符解释和转化成 ...

随机推荐

  1. 2-字符串模拟- URL映射

    问题描述 试题编号: 201803-3 试题名称: URL映射 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 URL 映射是诸如 Django.Ruby on Rails 等 ...

  2. cookie用法小结 cookie.setPath 跨域共享

    1. JSP中Cookie的读写 Cookie的本质是一个键值对,当浏览器访问web服务器的时候写入在客户端机器上,里面记录一些信息.Cookie还有一些附加信息,比如域名.有效时间.注释等等. 下面 ...

  3. PHP json_encode中文unicode转码问题

    用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”\u***”的格式,如果想汉字不进行转码,这里提供三种方法 1.升级PHP,在PHP5.4, 这个问题终于得 ...

  4. Spring下集成ActiveMQ推送

    本文是将ActiveMQ消息制造者集成进spring,通过spring后台推送消息的实现. 首先是spring的applicationContext的配置,如下 <?xml version=&q ...

  5. [GO]使用go语言实现比特币的工作量证明

    之前的博文已经实现了区块连的基本的工作原理,但在比特币系统中有一个很重要的概念:工作量证明POW,在比特币系统中它的作用就是在十分钟左右的时间内只有一个有能够记帐并得到奖励 在之前的博文中,区块的哈希 ...

  6. unittest测试框架详谈及实操(四)

    测试套件 应用unittest的Test Suite特性,可以将不同的测试组成一个逻辑组,然后设置统一的测试套来一起执行测试.通过TestSuite.TestLoader类来创建测试套件,最后用Tes ...

  7. C#中的异步调用及异步设计模式(三)——基于事件的异步模式

    四.基于事件的异步模式(设计层面) 基于事件的C#异步编程模式是比IAsyncResult模式更高级的一种异步编程模式,也被用在更多的场合.该异步模式具有以下优点: ·                 ...

  8. C++编译器之间的不同性能

    C++编译器之间的不同性能 编译器就是将“高级语言”翻译为“机器语言(低级语言)”的程序.一个现代编译器的主要工作流程:源代码 (source code) →预处理器 (preprocessor) → ...

  9. HTTP 常见异常状态及Delphi IDHTTP 控件处理方式

    以下部分为网上查找,部分为工作中整理 200:请求成功 202:请求被接受,但处理尚未完成 302:请求到的资源在一个不同的URL处临时保存     处理方式:重定向到临时的URL(IDHTTP处理方 ...

  10. css flex cheat sheet

    .container{ display: -webkit-flex/inline-flex; display: -moz-flex/inline-flex; display: -ms-flex/inl ...