当有人复制号码并粘贴在文本字段中时,我将手机号码作为登录ID。它告诉我“9999999999 \ u {e2}”。 “\ u {e2}”是隐藏字符,不会显示在文本字段中,但是当签入日志时它会显示给我。 我想删除那种类型的字符。
提前感谢您的回复。
答案 0 :(得分:0)
您可以尝试修剪任何非数字字符
let strWithAll = "kdldls155558894"
let number = strWithAll.components(separatedBy: CharacterSet.decimalDigits.inverted).joined()
答案 1 :(得分:0)
你可以试试这个
let myString = "dasdf3453453fsdf23455sf.2234"
let result = String(myString.characters.filter { String($0).rangeOfCharacter(from: CharacterSet(charactersIn: "0123456789")) != nil })
print(result)
答案 2 :(得分:0)
\u{e2}
实际上表示â
。我不确定为什么这个字符会随着数字一起被复制,但是当字符串的末尾附加特殊字符时,你可以尝试这种方法:
let yourText = "9999999999\u{e2}"
textField.text = yourText.components(separatedBy: CharacterSet.decimalDigits.inverted) [0]
检查组件的功能(separatedBy :) https://developer.apple.com/documentation/foundation/nsstring/1413214-components
答案 3 :(得分:0)
如果您确定电话号码只有数字(即没有“ - ”或“+”或空格字符),您只需过滤掉不是数字的字符:
let number = "9999999999\u{e2}"
let filteredNumber = number.filter { "0"..."9" ~= $0 } // 9999999999