0

我正在开发一个 iOS 应用程序。我从 web 服务接收 json 并将其解析为不同的 NSString。问题有时是字符串包含尚未解码的特殊字符。

例如我可以得到:Test One"Two作为 NSString。

如何从 NSString 中删除像这样的特殊字符?

4

2 回答 2

0

不久前我写了这个类来帮助从 NSString 中剥离 HTML。

NSString+StripHTML

NSString+StripHTML.h

#import <Foundation/Foundation.h>

@interface NSString (StripHTML)

-(NSString *)stringByStrippingHTML;

@end

NSString+StripHTML.m

#import "NSString+StripHTML.h"

@implementation NSString (StripHTML)

-(NSString *) stringByStrippingHTML {
    NSRange r;
    NSString *s = [self copy];
    while ((r = [s rangeOfString:@"<[^>]+>" options:NSRegularExpressionSearch]).location != NSNotFound)
        s = [s stringByReplacingCharactersInRange:r withString:@""];
    return s;
}

@结尾

希望这可以帮助。

于 2013-04-04T03:09:17.800 回答
0

我认为您只需要一个简单的正则表达式替换:

这就是 Neevik 在Use regular expression to find/replace substring in NSString 中展示的内容

NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"&[^;]*;" options:NSRegularExpressionCaseInsensitive error:&error];
NSString *modifiedString = [regex stringByReplacingMatchesInString:string options:0 range:NSMakeRange(0, [string length]) withTemplate:@""];
NSLog(@"%@", modifiedString);

那应该删除您的特殊字符。

于 2013-04-04T04:48:33.410 回答