如何用空格填充NSString?

DNB*_*ims 11 objective-c padding nsstring

例如,我需要NSString至少有8个字符....而不是使用循环来添加左边的填充空格,无论如何要做到这一点?

Examples:

Input:    |Output:
Hello     |   Hello
Bye       |     Bye
Very Long |Very Long
abc       |     abc
Run Code Online (Sandbox Code Playgroud)

das*_*ght 17

以下是如何执行此操作的示例:

int main (int argc, const char * argv[]) {
    NSString *str = @"Hello";
    int add = 8-[str length];
    if (add > 0) {
        NSString *pad = [[NSString string] stringByPaddingToLength:add withString:@" " startingAtIndex:0];
        str = [pad stringByAppendingString:str];
    }
    NSLog(@"'%@'", str);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

  • 你为什么这样做?这已经是`stringByPaddingToLength:withString:startingAtIndex:`了.您可以在声明`str`之后删除所有内容,而是执行`NSLog(@"%@",[str stringByPaddingToLength:add withString:@""startingAtIndex:0]) (4认同)

Plu*_*usA 8

我只是做这样的事情:

    NSLog(@"%*c%@", 14 - theString.length, ' ', theString);
Run Code Online (Sandbox Code Playgroud)

而且,14是你想要的宽度.

  • 这是破碎的,甚至意味着什么呢? (2认同)