Регулярное выражение - PullRequest
0 голосов
/ 19 апреля 2019

Я хочу, чтобы пользователь вводил текст в текстовое поле, и если пользователь вводит "<", к тексту в поле должен автоматически добавляться пробел </p>

Я попытался удалить специальный символ, но мне нужнопользователь также вводит это.

let RISTRICTED_CHARACTERS = "<"
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {


let set = CharacterSet(charactersIn: RISTRICTED_CHARACTERS)
let inverted = set.inverted
let filtered = string.components(separatedBy: inverted).joined(separator: "")
if filtered == string && string != "" {
   return false
} else {
    let maxLength = maxLenghtOfTextField
    let currentString: NSString = textField.text! as NSString
    let newString: NSString = currentString.replacingCharacters(in: range, with: string) as NSString
    return newString.length <= maxLength
}

В этом коде я не разрешаю "<" этот символ.Я хочу, чтобы текстовое поле было таким. </p>

Мой вывод должен быть : hello <(space) world.Пробел должен автоматически добавляться, если я начинаю со знака «<». </p>

1 Ответ

0 голосов
/ 19 апреля 2019

Вместо .replacingCharacters возможно попробуйте .replacingOccurences

let updatedString: String? = textField.text.replacingOccurrences(of: "<", with: " ")
...