兩個經常使用於掃描字符串的方法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對象