Objective-C 右填充
Posted
技术标签:
【中文标题】Objective-C 右填充【英文标题】:objective-c right padding 【发布时间】:2015-04-01 22:37:53 【问题描述】:大家好,希望有人能提供帮助。我正在浏览网络,但似乎没有任何意义:S
所以我有一个字符串可以说:
"123"
我想使用如下函数:
padr("123", 5, 'x')
结果应该是:
"123xx"
抱歉,Objective-C 在处理字符串时是一场噩梦:S
【问题讨论】:
String Padding in C 的可能重复项 我看到它的方式 printf 不会产生 NSString 但我可能错了 Dash 等文档应用程序可以更轻松地查找 API 方法。只需输入“padd”,我就可以看到方法。 【参考方案1】:您可以创建自己的方法来获取初始字符串、所需长度和填充字符(正如我开始做的那样,并且也在一些类似的问题中描述过)
或者你可以使用苹果已经提供的 NSString 方法;)
NSString *paddedString = [@"123"
stringByPaddingToLength: 5
withString: @"x" startingAtIndex:0];
有关此方法,请参阅 NSString Class Reference。
【讨论】:
【参考方案2】:NSString method stringByPaddingToLength:withString:startingAtIndex:
呢?
NSString* padr(NSString* string, NSUInteger length, NSString *repl)
return [string stringByPaddingToLength:length withString:repl startingAtIndex:0];
【讨论】:
【参考方案3】:NSMutableString* padString(NSString *str, int padAmt, char padVal)
NSMutableString *lol = [NSMutableString stringWithString:str];
while (lol.length < padAmt)
[lol appendFormat:@"%c", padVal];
return lol;
还有电话
int main(int argc, const char * argv[])
@autoreleasepool
NSLog(@"%@", padString(@"123", 5, 'x'));
return 0;
【讨论】:
啊,用苹果stringByPaddingToLength
方法更简单。以上是关于Objective-C 右填充的主要内容,如果未能解决你的问题,请参考以下文章
Objective-C 使用 NSDictionary 的实例填充表视图
为啥 Uncrustify 在我的 Objective-C 块右括号之前强制一个空格?
如何在 Objective-C 中从 mysql 数据库中填充 NSArray?