从电话簿中复制并在Textfield复制粘贴时,隐藏的角色获得.如何删除它



我在复制号码并将其粘贴到Textfield时将手机号码作为登录ID。它向我展示了" 9999999999 u {e2}"。" u {e2}"是隐藏的字符,它不是在TextField中显示的,但是在登录日志中显示我。我想删除这种类型的字符。

事先感谢您的回复。

您可以尝试修剪任何非数字字符

let strWithAll = "kdldls155558894"
let number = strWithAll.components(separatedBy: CharacterSet.decimalDigits.inverted).joined()

您可以尝试使用此

let myString = "dasdf3453453fsdf23455sf.2234"
let result = String(myString.characters.filter { String($0).rangeOfCharacter(from: CharacterSet(charactersIn: "0123456789")) != nil })
print(result)

u{e2}实际上指示 â。我不确定为什么要与数字一起复制此字符,但是由于特殊字符在字符串的末尾附上,您可以尝试以下方法:

let yourText = "9999999999u{e2}"
textField.text =  yourText.components(separatedBy: CharacterSet.decimalDigits.inverted) [0]

检查组件的功能(分隔:) https://developer.apple.com/documentation/foundation/foundation/nsstring/1413214-components

如果您确定电话号码只有数字(即否" - "或" "或太空字符(,则可以简单地过滤出非数字的字符:

let number = "9999999999u{e2}"
let filteredNumber = number.filter { "0"..."9" ~= $0 } // 9999999999