两个经常使用于扫描字符串的方法spa
//'指针'只移动一个位置,判断当前所指的字符是不是目标字符@"x", 如果则存入result中,返回YES,不然NO
BOOL res = [scanner scanString:@"x" intoString:&result];
//'指针'从开头一直扫描到有首次出现目标字符@"x"为止,'指针'停留在目标@"x"以前, 将目标字符前面的所有内容存入result中 BOOL res1 = [scanner scanUpToString:@"x" intoString:&result];
例子:.net
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. 输出全部<>中的内容code
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); }
参考: orm
https://blog.csdn.net/qq_21649645/article/details/43971425对象