我正在尝试将NSString中的月份名称替换为其两位数字值的月份名称,例如“January”=>“01”,“February”=>“02”。我使用的方法如下:
if (mois==@"january") { mois=@"01";}
if (mois==@"February") { mois=@"02";}
......但它不起作用。我该怎么做这个替换?
答案 0 :(得分:7)
if ([mois isEqualToString:@"january"])
正是您要找的。
您正在做的是比较指针而不是存储在其中的值,这就是Objective-C中的几个类具有这些isEqualTo:
方法的原因。
答案 1 :(得分:2)
使用此
if ([mois isEqualToString:@"january"]) { mois=@"01";}
if ([mois isEqualToString:@"February"]) { mois=@"02";}
答案 2 :(得分:1)
您应该尝试[mois isEqualToString:@"january"]
答案 3 :(得分:0)
使用iOS提供的日期功能。查看NSDate和NSDateFormatter
通过使用日期函数,您可以获取SDK以将月份名称转换为月份代码。这也意味着您不必担心月份是否使用其他语言,或者案例不同,或者是否有“Jan”而不是“January”等。
答案 4 :(得分:0)
NSString是一个对象,因此你不能使用mois == @“january”。你必须使用 方法isEqualToString:(NSString *)aString。
尼古拉。
答案 5 :(得分:-1)
希望这有帮助,内森