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 が正規表現を使用して 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 に答える