替换NSString的值

时间:2012-06-19 12:02:09

标签: iphone objective-c nsstring

我正在尝试将NSString中的月份名称替换为其两位数字值的月份名称,例如“January”=>“01”,“February”=>“02”。我使用的方法如下:

if (mois==@"january") { mois=@"01";}   
if (mois==@"February") { mois=@"02";}

......但它不起作用。我该怎么做这个替换?

6 个答案:

答案 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)

NSStrings是不可变的不是吗?我想你要么必须使用NSMutableString,要么使用mois = [NSString stringWithString:@“01”];

希望这有帮助,内森