正则表达式

问题描述 投票:-2回答:1

我希望用户在文本字段中输入文本,如果用户键入“<”,则空格应自动附加到字段中的文本

我尝试删除特殊字符,但我也需要用户输入。

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
}

在这段代码中,我不允许“<”这个字符。我希望文本字段是这样的。

我的输出应该是: hello <(space) world。如果我开始时应该自动附加空格

uitextfield swift4.2
1个回答
0
投票

而不是.replacingCharacters可能会尝试.replacingOccurences

let updatedString: String? = textField.text.replacingOccurrences(of: "<", with: " ")
© www.soinside.com 2019 - 2024. All rights reserved.