我在复制号码并将其粘贴到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