Ios 从NSString中删除所见即所得编辑器标记
我正在从我的web服务(我需要在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
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);