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 用模式填充视图

Objective-C 使用 NSDictionary 的实例填充表视图

为啥 Uncrustify 在我的 Objective-C 块右括号之前强制一个空格?

如何在 Objective-C 中从 mysql 数据库中填充 NSArray?

在 Objective-C 中加载时将光标移动到预填充 Textview 的开头

Objective-C - Firebase 从数据库中检索数据并填充到表中