Padding string to left Padding string to left xcode xcode

Padding string to left


This one pads left with 10 zeroes.

NSString *padded = [NSString stringWithFormat:@"Padded left with zeros: %010d", 65];


+ (NSString *)formatValue:(int)value forDigits:(int)zeros {    NSString *format = [NSString stringWithFormat:@"%%0%dd", zeros];     return [NSString stringWithFormat:format,value];} 


Clumsy, but it'll do the job.

@implementation NSString (LeftPadding)- (NSString *)stringByPaddingTheLeftToLength:(NSUInteger)newLength withString:(NSString *)padString startingAtIndex:(NSUInteger)padIndex{    if ([self length] <= newLength)        return [[@"" stringByPaddingToLength:newLength - [self length] withString:padString startingAtIndex:padIndex] stringByAppendingString:self];    else        return [[self copy] autorelease];}@end

Then you can do:

NSString *test1 = [@"6" stringByPaddingTheLeftToLength:10 withString:@"0" startingAtIndex:0];// test1 = "0000000006"NSString *test2 = [@"asdf" stringByPaddingTheLeftToLength:10 withString:@"qwer" startingAtIndex:0];// test2 = "qwerqwasdf"NSString *test3 = [@"More than ten characters" stringByPaddingTheLeftToLength:10 withString:@"bamboo" startingAtIndex:0];// test3 = "More than ten characters"NSString *test4 = [test3 stringByPaddingTheLeftToLength:100 withString:test2 startingAtIndex:0];// test4 = "qwerqwasdfqwerqwasdfqwerqwasdf...qwerqMore than ten characters"