В Swift componentsJoinedByString
заменяется на join(...)
, поэтому здесь он просто заменяет не буквенно-цифровые символы пробелом.
let charactersToRemove = NSCharacterSet.alphanumericCharacterSet().invertedSet
let strippedReplacement = " ".join(someString.componentsSeparatedByCharactersInSet(charactersToRemove))
Для Swift2 ...
var enteredByUser = field.text .. or whatever
let unsafeChars = NSCharacterSet.alphanumericCharacterSet().invertedSet
enteredByUser = enteredByUser
.componentsSeparatedByCharactersInSet(unsafeChars)
.joinWithSeparator("")
Если вы хотите удалить только один символ, например, удалить все, возвращает ...
enteredByUser = enteredByUser
.componentsSeparatedByString("\n")
.joinWithSeparator("")