删除字符串中的所有内容,但“<”中包含的字符除外和“>”

时间:2011-03-16 01:10:37

标签: iphone objective-c

我有一个带有一堆随机数的NSString,然后看起来像“<string I need>”。除了大于和小于符号内的内容外,我如何从字符串中取出所有内容?

2 个答案:

答案 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标签,但你想要的是相反的,取而代之的是标签。