2011-12-27 81 views
3

我已阅读,左垫的NSString所有你需要做的是这样的:填充的NSString不工作

NSString *paddedStr = [NSString stringWithFormat:@"%[email protected] %[email protected]", 
          aString, anotherSting]; 

但是,这并不工作!我不知道为什么。我尝试了很多没有成功的组合。例如:

NSString *paddedStr = [NSString stringWithFormat:@"%[email protected]", " ", myString]; 

但这种方式是丑陋的,丑陋的。它只是在字符串(myString)之前追加20次char(“”),那不是我们需要的吗?

目标是将NSString格式化,以呈现两个或多个包含20个字符的列,而不管一行中字符串的长度如何。

实例目标产量:

Day  Hour  Name  Age 

是否有人知道如何做到这一点吗?

我使用ARC和iOS 5

而实际上,格式化字符串将被写入使用NSFileHandle到文件。

感谢你们所有的人!

编辑:

我注意到,这个工程:

NSString *str = [NSString stringWithFormat:@"%-10.10s %-10.10s", 
        [strOne UTF8String], [strTwo UTF8String]]; 

但是...我们不希望C风格的字符串无论是。

回答

2

这里是一个办法做到这一点:

NSString *paddedStr = [NSString stringWithFormat:@"%@%@", 
         [@"day" stringByPaddingToLength:20 
              withString:@" " 
             startingAtIndex:0], 
         [@"Hour" stringByPaddingToLength:20 
              withString:@" " 
             startingAtIndex:0]]; 
+0

好文斯!那是我需要的,非常感谢。我没有意识到这种方法存在。 – 2011-12-27 18:30:36