【问题标题】:Capitalize or change case of an NSString in Objective-C在 Objective-C 中大写或更改 NSString 的大小写
【发布时间】:2011-08-01 00:01:03
【问题描述】:

我想知道如何将在NSMutableArray 中的对象中找到的字符串大写。

NSArray 在索引 2 处包含字符串 'April'
我希望将其更改为'APRIL'

有这样简单的东西吗?

viewNoteDateMonth.text  = [[displayDate objectAtIndex:2] capitalized];

【问题讨论】:

    标签: objective-c string cocoa-touch nsstring uppercase


    【解决方案1】:

    以防万一有人在 swift 中需要上述内容:

    SWIFT 3.0 及以上版本:

    这将使您的字符串大写,将第一个字母大写:

    viewNoteDateMonth.text  = yourString.capitalized
    

    这将使您的字符串大写,使所有字符串大写:

    viewNoteDateMonth.text  = yourString.uppercased()
    

    【讨论】:

      【解决方案2】:

      来吧:

      viewNoteDateMonth.text  = [[displayDate objectAtIndex:2] uppercaseString];
      

      顺便说一句:
      "april"lowercase[NSString lowercaseString]
      "APRIL"UPPERCASE[NSString uppercaseString]
      "April May"Capitalized/Word Caps ➔ @98765432 "April may"Sentence caps(缺少方法;请参阅下面的解决方法)

      因此您想要的称为“大写”,而不是“大写”。 ;)

      至于“句​​子大写”,必须记住,“句子”通常意味着“整个字符串”。如果您希望获得真正的句子,请使用下面的第二种方法,否则请使用第一种:

      @interface NSString ()
      
      - (NSString *)sentenceCapitalizedString; // sentence == entire string
      - (NSString *)realSentenceCapitalizedString; // sentence == real sentences
      
      @end
      
      @implementation NSString
      
      - (NSString *)sentenceCapitalizedString {
          if (![self length]) {
              return [NSString string];
          }
          NSString *uppercase = [[self substringToIndex:1] uppercaseString];
          NSString *lowercase = [[self substringFromIndex:1] lowercaseString];
          return [uppercase stringByAppendingString:lowercase];
      }
      
      - (NSString *)realSentenceCapitalizedString {
          __block NSMutableString *mutableSelf = [NSMutableString stringWithString:self];
          [self enumerateSubstringsInRange:NSMakeRange(0, [self length])
                                   options:NSStringEnumerationBySentences
                                usingBlock:^(NSString *sentence, NSRange sentenceRange, NSRange enclosingRange, BOOL *stop) {
              [mutableSelf replaceCharactersInRange:sentenceRange withString:[sentence sentenceCapitalizedString]];
          }];
          return [NSString stringWithString:mutableSelf]; // or just return mutableSelf.
      }
      
      @end
      

      【讨论】:

        【解决方案3】:
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-20
        • 2010-09-25
        • 2012-11-13
        • 2011-02-26
        • 2014-11-04
        • 1970-01-01
        相关资源
        最近更新 更多