iphone中给一个字符串添加另一个字符串

问题描述:

数组中有一些图片,图片格式包括jpg,png和gif扩展名。我需要给每个扩展名前加入-Add这个字符,怎么添加呢?比如,图片为DSC004.jpg,然后添加-Add成为DSC004-Add.jpg。请高手指教。谢谢。

最通用的方法:

NSString *filename = @"DSC004.jpg";
NSString *ext = [filename pathExtension];
NSString *basename = [filename stringByDeletingPathExtension];
NSString *updated = [basename stringByAppendingString:@"-Add"];
NSString *finalName = [updated stringByAppendingPathExtension:ext];

这方法需要完整路径名和文件名,还有文件名中的多个点。

如果是.jpg后缀名的可以用:

NSString *newString = [@"DSC004.jpg" stringByReplacingOccurrencesOfString:@"." withString:@"-Add."];

如果是some.some.jpg这样的后缀名可以:

NSArray *arrayString = [fileName componentsSeparatedByString:@"."];
NSMutableArray *mutableArray = [NSMutableArray arrayWithArray: arrayString];
int arrayCount = [arrayString count];
NSString *newStr = nil;
if(arrayCount>=2)
{
  NSString *tempStr = [arrayString objectAtIndex:arrayCount-2];
  tempStr = [tempStr stringByAppendingString:@"-Add"];  
  [mutableArray replaceObjectAtIndex:arrayCount-2 withObject:tempStr];
  newStr = [mutableArray componentsJoinedByString:@"."];
  NSLog(@"%@",newStr);

}
else
{
  newStr = [fileName stringByAppendingString:@"-Add"];
}