2013-12-23 14 views
1

我有一个字符串格式的日期,如:2013年3月9日,2013年10月15日等。在iphone中大写字符串

我该如何将它转换为2013年3月9日,2013年10月15日?

我做了这样的:[str capitalizedString]但它也将大写T从th。

+0

其中str的你需要利用 –

+0

@ Anbu.Karthik,只有第一个字母,使其仅上月在以下日期格式的基础上,月份。 – user2893370

回答

0

如果字符串格式同上:那么你可以做这样的方式:

NSString *yourString = @"9th march 2013,15th october 2012"; 
NSArray *array = [yourString componentsSeparatedByString:@","]; 

NSMutableArray *finalArray = [[NSMutableArray alloc]init]; 

for (int i =0 ; i < [array count]; i++) { 

    NSString *innerStr = [array objectAtIndex:i]; 

    NSArray *newArray = [innerStr componentsSeparatedByString:@" "]; 

    NSString *monthStr = [newArray objectAtIndex:1]; 

    monthStr = [[[monthStr substringToIndex:1]uppercaseString]stringByAppendingString:[monthStr substringFromIndex:1]]; 

    NSString *finalString = [NSString stringWithFormat:@"%@ %@ %@", [newArray objectAtIndex:0],monthStr,[newArray objectAtIndex:2]]; 

    [finalArray addObject:finalString]; 
} 

NSLog(@"%@",finalArray); 

可以最终通过字符串遍历到finalArray存入NSString。或者在上面的循环中。

0

你可以不喜欢它:

- (NSString *)changeMonthToCapital:(NSString *)str 
{ 
    // You need to do proper exception handling 
    NSMutableArray *components = [[str componentSeparatedBy:@" "] mutableCopy]; 
    NSString *newTxt   = [components objectAtIndex:1]; 
    NSString *changedTxt  = [newTxt stringByReplacingCharactersInRange:NSMakeRange(0,1) withString:[[newTxt substringToIndex:1] uppercaseString]]; 
    [components replaceObjectAtIndex:1 withObject:changedTxt]; 
    str = [components componentsJoinedByString:@" "]; 
    return str; 
} 

你可以把它想:

[self changeMonthToCapital:@"9th march 2013"]; 
1

假设这是你的下面的字符串。

NSString *str= @"9th march 2013, 15th October 2013"; 
NSString *str1=[str stringByReplacingCharactersInRange:NSMakeRange(0, 5) withString:[[str substringWithRange:NSMakeRange(0, 5)]uppercaseString]]; 
NSString *str2=[str1 stringByReplacingCharactersInRange:NSMakeRange(0, 3) withString:[[str substringWithRange:NSMakeRange(0, 3)]lowercaseString]]; 
NSLog(@"%@",str2); 

输出: - - :

9th March 2013, 15th October 2013 
+1

没有其他选择范围的方法,我也在尝试,并以此结束 –