dan*_*dan 5 cocoa objective-c nsstring
我有NSString字符串,表示HH:MM:SS中的时间,但可以省略HH和MM的数字.
我需要像这样对齐这些值的列:
1:01:43
43:23
7:00
Run Code Online (Sandbox Code Playgroud)
最简单的方法是什么?
Per*_*ion 13
使用NSString类中提供的stringWithFormat方法.像这样的东西:
NSString * dateStr = @"05:30";
NSString * formattedStr = [NSString stringWithFormat:@"%8s", [str UTF8String]];
Run Code Online (Sandbox Code Playgroud)
该8在%787-8是您在格式化字符串要精确数字(或在这种情况下的字符)的数量.短于指定精度的输入字符串将左边填充空格,字符串长度将被截断.您可以在此处阅读有关printf格式字符串的更多信息.
编辑 感谢@Peter指出这一点.标准C中的格式说明符与目标C之间存在一些(次要)差异.请参阅此处有关格式字符串说明符的Apples文档.
小智 5
填充代码 不同但可能会有所帮助
NSString *st = [@"abc" stringByPaddingToLength: 9 withString: @"." startingAtIndex:0];
Run Code Online (Sandbox Code Playgroud)
abc……
[@"abc" stringByPaddingToLength: 2 withString: @"." startingAtIndex:0];
Run Code Online (Sandbox Code Playgroud)
AB
[@"abc" stringByPaddingToLength: 9 withString: @". " startingAtIndex:1];
Run Code Online (Sandbox Code Playgroud)
美国广播公司。. .
请注意,填充中的第一个字符是空格
| 归档时间: |
|
| 查看次数: |
10081 次 |
| 最近记录: |