【问题标题】:objective-c right paddingObjective-C 右填充
【发布时间】: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”,我就可以看到方法。

标签: objective-c string padding


【解决方案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方法更简单。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-29
      相关资源
      最近更新 更多