2 yue1liang1chuan yue1liang1chuan 于 2012.12.12 15:12 提问

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

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

2个回答

abcdeFGh_xyz
abcdeFGh_xyz   2012.12.12 15:41
已采纳

最通用的方法:

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

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

g989_1314125
g989_1314125   2012.12.12 16:19

如果是.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"];
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!