作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有 NSString 字符串,以 HH:MM:SS 格式表示时间,但可以省略 HH 和 MM 的数字。
我需要像这样对齐这些值的列:
1:01:43
43:23
7:00
最简单的方法是什么?
最佳答案
利用 NSString 中提供的 stringWithFormat 方法类(class)。像这样:
NSString * dateStr = @"05:30";
NSString * formattedStr = [NSString stringWithFormat:@"%8s", [str UTF8String]];
%8s 中的 8 是您希望格式化字符串中的精度数字(或在本例中为字符)的数量。短于指定精度的输入字符串将用空格填充,长于指定精度的字符串将被截断。您可以阅读有关 printf here 格式字符串的更多信息.
编辑感谢@Peter 指出这一点。标准 C 和 Objective C 中的格式说明符之间存在一些(小的)差异。请参阅有关格式字符串说明符的 Apple 文档 here .
关于objective-c - 如何左填充 NSString 以使其适合固定宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6548790/
我是一名优秀的程序员,十分优秀!