使用换行符和反斜杠渲染ASCII艺术字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用换行符和反斜杠渲染ASCII艺术字符串相关的知识,希望对你有一定的参考价值。
我正在制作一个应用程序,其中需要将ASCII艺术存储到数据库中。我以下面的格式存储字符串。
“___________ n | --------- | -O n / ___________ n | ______________ | n ____ /”
当我检索数据并将其显示在标签中时,我希望解析换行符和反斜杠,以便显示ASCII艺术的真实形状。
我该如何解析这种字符串?
答案
NSString有一个方法可以做你想要的,即用一个换行符替换一个小号 n(用符号表示为 n)。在c格式的字符串中,您可以使用双斜杠让库知道第二个slach是真正的slach而不是转义符号。假设您已经能够将数据从sqlite加载到NSString中,那么这应该可行:
newString = [yourStringFromSQLite stringByReplacingOccurrencesOfString:@"\n" withString:@"
"];
另一答案
如果您正在使用 n仅用于创建新行,那么只需在数据库中插入值时保留空间并为标签设置以下属性 - > 1)保持宽度只是为了适合第一个单词。 2)linewode到wordwrap(因为宽度将不可用,它会将下一个单词换行到新行) 3)设置否。线条为0 希望这会有所帮助。
另一答案
尝试使用扫描仪删除html实体
- (NSString *)flattenHTML:(NSString *)html trimWhiteSpace:(BOOL)trim {
NSScanner *theScanner;
NSString *text = nil;
theScanner = [NSScanner scannerWithString:html];
while ([theScanner isAtEnd] == NO) {
[theScanner scanUpToString:@"<" intoString:NULL] ;
[theScanner scanUpToString:@">" intoString:&text] ;
html = [html stringByReplacingOccurrencesOfString:[ NSString stringWithFormat:@"%@>", text] withString:@" "];
}
return trim ? [html stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] : html;
}
并调用此方法需要显示修剪后的字符串
以上是关于使用换行符和反斜杠渲染ASCII艺术字符串的主要内容,如果未能解决你的问题,请参考以下文章