填充 NSString 不起作用
Posted
技术标签:
【中文标题】填充 NSString 不起作用【英文标题】:Padding NSString not working 【发布时间】:2011-12-27 07:21:44 【问题描述】:我已经读过,左填充NSString
你需要做的就是:
NSString *paddedStr = [NSString stringWithFormat:@"%-20.20@ %-20.20@",
aString, anotherSting];
但是,这不起作用!我不知道为什么。我尝试了很多组合都没有成功。例子:
NSString *paddedStr = [NSString stringWithFormat:@"%-20s@", " ", myString];
但这种方式是丑陋的……丑陋的。它只是在字符串(myString)之前附加了 20 倍的字符(“”),这不是我们需要的吗?
目标是使 NSString 格式化为显示两列或多列,每列 20 个字符,无论一行中字符串的长度如何。
示例目标输出:
Day Hour Name Age
有人知道如何正确执行此操作吗?
我正在使用 ARC 和 ios 5。
实际上,格式化字符串将使用NSFileHandle
写入文件。
谢谢大家!!
编辑:
我注意到这是可行的:
NSString *str = [NSString stringWithFormat:@"%-10.10s %-10.10s",
[strOne UTF8String], [strTwo UTF8String]];
但是...我们也不想要 C 风格的字符串。
【问题讨论】:
【参考方案1】:这是一种方法:
NSString *paddedStr = [NSString stringWithFormat:@"%@%@",
[@"day" stringByPaddingToLength:20
withString:@" "
startingAtIndex:0],
[@"Hour" stringByPaddingToLength:20
withString:@" "
startingAtIndex:0]];
【讨论】:
好的文斯!!这正是我所需要的,非常感谢。我没有意识到该方法存在。以上是关于填充 NSString 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
使用componentsSeparatedByString以#开头的NSString不起作用