Ios 从NSString中删除所见即所得编辑器标记

Ios 从NSString中删除所见即所得编辑器标记,ios,objective-c,regex,nsstring,Ios,Objective C,Regex,Nsstring,我正在从我的web服务(我需要在UILabel中设置)返回一个具有所见即所得编辑器标记(非HTML)的字符串,例如: 我有一个剥离HTML的NSString方法,但我不确定如何修改它来搜索这些类型的开始和结束标记 // How can I modify this? + (NSString *)stripHTML:(NSString *)html { NSRange r; NSString *s = [html copy]; while ((r = [s rangeOfS

我正在从我的web服务(我需要在
UILabel
中设置)返回一个具有所见即所得编辑器标记(非HTML)的字符串,例如:

我有一个剥离HTML的
NSString
方法,但我不确定如何修改它来搜索这些类型的开始和结束标记

// How can I modify this?
+ (NSString *)stripHTML:(NSString *)html {

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

    return s;
}
//我如何修改它?
+(NSString*)条带html:(NSString*)html{
NSRange;
NSString*s=[html副本];
while((r=[s rangeOfString:@“]+>”选项:NSRegularExpressionSearch])。位置!=NSNotFound)
s=[s StringByReplacingCharactersRange:r,带字符串:@”“;
返回s;
}

有人能解释一下我可以使用的正则表达式吗?

您可以尝试以下代码:

NSError *error = nil;
NSString *myText = @"[size=3][b]This is an awesome post![/b][/size]";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\\[\\/?.*?\\]" options:NSRegularExpressionDotMatchesLineSeparators error:&error];
NSString *modifiedString = [regex stringByReplacingMatchesInString:myText options:0 range:NSMakeRange(0, [myText length]) withTemplate:@""];
NSLog(@"%@", modifiedString);
把它包装成一个单独的方法

a的输出:


对于HTML文本,有一种解决方案可能不是100%,但可能是有效的:

NSString *strText = @"[size=3][b]This is an awesome post![/b][/size]";
strText = [strText stringByReplacingOccurrencesOfString:@"[" withString:@"<"];
strText = [strText stringByReplacingOccurrencesOfString:@"]" withString:@">"];
NSLog(@"%@",strText);
NSString*strText=@“[size=3][b]这是一篇很棒的帖子![/b][/size]”;
strText=[strText STRINGBYREPLACINGOURCRENCESOFSTRING:@“[“带字符串:@]”;
NSLog(@“%@”,strText);
在UIWebView中使用时,如下所示:


您可以使用
NSRegularExpressionDotMatchesLineSeparators
选项尝试
@“\[\\/?.\\]”“
。但它将删除方括号中的所有字符串。很好,随时准备提供帮助。如果您找到更可靠的解决方案,请毫不犹豫地与他人分享。
This is an awesome post! 
NSString *strText = @"[size=3][b]This is an awesome post![/b][/size]";
strText = [strText stringByReplacingOccurrencesOfString:@"[" withString:@"<"];
strText = [strText stringByReplacingOccurrencesOfString:@"]" withString:@">"];
NSLog(@"%@",strText);