Eliminar caracteres especiales en NSString

Estoy convirtiendo el párrafo en palabras que contiene muchos caracteres especiales como

" , " . ` 

cómo eliminar estos caracteres en nsstring y get solo alfabetos en nsstring

ex "nuevo" a nuevo //the special characters are change

 NSString *unfiltenetworkingString = @"!@#$%^&*()_+|abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; NSCharacterSet *notAllowedChars = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"] invertedSet]; NSString *resultString = [[unfiltenetworkingString componentsSeparatedByCharactersInSet:notAllowedChars] componentsJoinedByString:@""]; NSLog (@"Result: %@", resultString); 

PRUEBA ESTO PUEDE AYUDARTE

Hay muchas forms de lidiar con esto. Como ejemplo, aquí hay una solución que usa expresiones regulares. Este es solo un ejemplo. No sabemos la gama completa de caracteres especiales que desea eliminar.

 #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSRegularExpression *expression = [NSRegularExpression regularExpressionWithPattern:@"[,\\.`\"]" options:0 error:NULL]; NSString *sampleString = @"The \"new\" quick brown fox, who jumped over the lazy dog."; NSString *cleanedString = [expression stringByReplacingMatchesInString:sampleString options:0 range:NSMakeRange(0, sampleString.length) withTemplate:@""]; printf("cleaned = %s",[cleanedString UTF8String] ); } return 0; } 

Respuesta aceptada en SWIFT (pero no en SWIFTY):

  let notAllowedCharactersSet = NSCharacterSet(charactersInString: "ABCDEFGHIJKLMNOPQRSTUVWXYZ").invertedSet let filtenetworking = (stringToFilter.componentsSeparatedByCharactersInSet(notAllowedCharactersSet) as NSArray).componentsJoinedByString("") 

Estoy seguro de que hay una solución más elegante, pero para cualquiera que intente hacer esto en Swift, esto es lo que hice para asegurarme de que no había caracteres especiales en los numbers de teléfono de mis usuarios.

 var phone = "+1 (555) 555 - 5555" var removeChars: NSCharacterSet = NSCharacterSet(charactersInString: "1234567890").invertedSet var charArray = phone.componentsSeparatedByCharactersInSet(removeChars) var placeholderString = "" var formattedPhoneNumber: String = placeholderString.join(charArray).stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet()) 

stringByTrimmingCharactersInSet posible que no sea necesario el stringByTrimmingCharactersInSet .