我有这个NSString:
@"aa.bb.cc.png"
我想在.png之前插入myString来制作
@"aa.bb.ccSTUFF.png"
有没有更好的方法来做到这一点,而不是反复迭代直到'。找到,然后在位置拆分,然后将component1 + stuff + extension一起添加?
由于
答案 0 :(得分:2)
试试这个:
NSString *path = [originalPath stringByDeletingPathExtension];
path = [path stringByAppendingString:myString];
path = [path stringByAppendingPathExtension:[originalPath pathExtension]];
答案 1 :(得分:1)
您可以使用正则表达式:
NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression
regularExpressionWithPattern:@"[.]([^.]*)$"
options:NSRegularExpressionCaseInsensitive
error:&error];
NSString *res = [regex stringByReplacingMatchesInString:str
options:0
range:NSMakeRange(0, [str length])
withTemplate:@"STUFF.$1"];
正则表达式背后的想法是匹配最后一个点和扩展名,然后替换为您选择的附加字符串(替换模板中的$1
表示第一个捕获组的内容,对应于扩展名。)