我传入了以下样式字符串:
<p><iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F79039882"></iframe></p>
和
<p><iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F82229979&color=ff6600&auto_play=true&show_artwork=true"></iframe></p>
我需要从给定的字符串中过滤掉字符串“79039882”或“82229979”。
目前我正在使用以下代码:
NSString * temp1;
NSScanner *scanner = [NSScanner scannerWithString:label];
[scanner scanUpToString:@"%2Ftracks%2F" intoString:nil];
[scanner scanString:@"%2Ftracks%2F" intoString:nil];
[scanner scanUpToString:@"&" intoString:&temp1];
不幸的是,它在格式化为第一个的字符串上失败。我如何才能解释这两种类型?
在 temp1 中传递第一个样式的字符串时,结果如下:
79039882"></iframe></p>
最佳答案
因为您只需要数字,所以请使用描述它的 NSCharacterSet
以及 scanCharactersFromSet:intoString:
// Don't create this more than once if possible.
NSCharacterSet * decimalCharSet = [NSCharacterSet decimalDigitCharacterSet];
//...
[scanner scanCharactersFromSet:decimalCharSet
intoString:&temp1];
关于iOS NSScanner 从 2 个不同的输入中选择一个特定的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18137562/