This will remove all invalid characters anywhere in the filename based on Ismail’s invalid character set (I have not verified how complete his set is).
- (NSString *)_sanitizeFileNameString:(NSString *)fileName {
NSCharacterSet* illegalFileNameCharacters = [NSCharacterSet characterSetWithCharactersInString:@"/\\?%*|\"<>"];
return [[fileName componentsSeparatedByCharactersInSet:illegalFileNameCharacters] componentsJoinedByString:@""];
}
Credit goes to Peter N Lewis for the idea to use componentsSeparatedByCharactersInSet:
NSString – Convert to pure alphabet only (i.e. remove accents+punctuation)