我有一个带有一堆随机数的NSString,然后看起来像“<string I need>
”。除了大于和小于符号内的内容外,我如何从字符串中取出所有内容?
答案 0 :(得分:2)
这是我用来提取字符串片段的片段。我甚至可能从其他一些Stackoverflow问题中得到它。
- (NSString *)getDataBetweenFromString:(NSString *)data leftString:(NSString *)leftData rightString:(NSString *)rightData leftOffset:(NSInteger)leftPos;
{
NSInteger left, right;
NSString *foundData;
NSScanner *scanner = [NSScanner scannerWithString:data];
[scanner scanUpToString:leftData intoString: NULL];
left = [scanner scanLocation];
NSLog(@"Length of string = %d",data.length);
NSLog(@"Scan Location = %d",left);
NSLog(@"Total String to parse %@",data);
if (left < data.length) {
[scanner setScanLocation:left + leftPos];
[scanner scanUpToString:rightData intoString: NULL];
right = [scanner scanLocation] + 1;
left += leftPos;
foundData = [data substringWithRange: NSMakeRange(left, (right - left) - 1)];
} else {
foundData = @"";
}
return foundData;
}
我会用类似
之类的东西来称呼它[self getDataBetweenFromString:someString leftString:@"<" rightString:@">" leftOffset:1]];
leftOffest值等于leftString参数的长度。编写一些错误处理所需的一件事是,如果leftOffset字符串不在someString
中,则会抛出错误。
答案 1 :(得分:0)
听起来像解析HTML,但只是在标签内部获取文字。 你可以从这看起来开始 http://rudis.net/content/2009/01/21/flatten-html-content-ie-strip-tags-cocoaobjective-c 它剥离了HTML标签,但你想要的是相反的,取而代之的是标签。