如何追加带数字的字符串?

时间:2011-10-19 14:18:33

标签: objective-c macos cocoa

我是Cocoa的新人。

我有NSString - (例如)MUSIC。我想在Array中添加一些新的NSString, 并想要检查这样的东西

如果MUSIC已包含在Array中,请在Music_2之后添加Music_1,依此类推。

所以我需要能够从NSString中读取该整数,并将其附加+1。

由于

4 个答案:

答案 0 :(得分:4)

使用

NSString *newString = [myString stringByAppendingString:[NSString stringWithFormat:@"_%i", myInteger]];

如果myString是“music”,则newString将为“music_1”或myInteger。

编辑:我似乎从提供的其他答案中得到了相反的含义。你能澄清一下你究竟在问什么吗?

答案 1 :(得分:1)

检查出来:

NSMutableArray *array = [NSMutableArray arrayWithObjects:@"123", @"qqq", nil];
NSString *myString = @"MUSIC";
NSInteger counter = 0;
if ([array containsObject:myString]){
    NSString *newString = [NSString stringWithFormat:@"%@_%d", myString, ++counter];
    [array addObject:newString];
}
else
    [array addObject:myString];

答案 2 :(得分:1)

要检查Array中的重复元素,您可以使用-containsObject:方法。

[myArray containsObject:myobject];

如果您有一个非常大的数组,请在数组旁边保留NSMutableSet。在添加到数组之前,检查项目是否存在。如果它已经在集合中,请不要添加它。如果没有,请将其添加到两者 如果你想要唯一的对象而不关心插入顺序,那么根本不要使用数组,只需使用Set。 NSMutableSet是一个更有效的容器 要从NSString读取整数,您可以使用intValue方法。

[myString intValue];  

要附加带数字的字符串,您可以使用- (NSString *)stringByAppendingString:(NSString *)aString- (NSString *)stringByAppendingFormat:(NSString *)format ...方法。

答案 3 :(得分:0)

以下是将字符串转换为int

的方法
NSString *myStringContainingInt = @"5";
int myInt = [myStringContainingInt intValue];
myInt += 1;
// So on...