删除字符串的一部分

时间:2014-07-17 14:17:45

标签: objective-c nsstring nsrange

我想从整个字符串中获取子字符串。

NSString *temp = @"Hello World <script> XXX </script>Test";

我想删除<script></script>的字符串 最后一个字符串应该是这样的 - Hello World Test

我尝试用NSRange做但不能成功。

1 个答案:

答案 0 :(得分:0)

我做了这样的事情,例如:

NSString *_tempString = @"Hello World <script> random text </script>Test <script> much more random text </script>!";
NSError *_error;
NSRegularExpression *_regExp = [NSRegularExpression regularExpressionWithPattern:@"<script>.*?</script>" options:NSRegularExpressionCaseInsensitive error:&_error];
NSArray *_matches = [_regExp matchesInString:_tempString options:NSMatchingReportCompletion range:NSMakeRange(0, _tempString.length)];
NSMutableString *_finalString = [NSMutableString stringWithString:_tempString];
for (int i = _matches.count - 1; i >= 0; i--) {
    NSTextCheckingResult *_result = [_matches objectAtIndex:i];
    [_finalString deleteCharactersInRange:_result.range];
}

控制台说:

Hello World Test !

注意:代码只是一个代表性的代码 - 运行良好,但如果您希望将代码插入到正确的应用程序中,则可能需要在代码中添加更多错误处理。