Please help me, I use Xcode 8.3(swift 3.1), the function trimmingCharacters
not work. My code as below:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if var searchStr = textField.text{
let _searchStr = searchStr.trimmingCharacters(in: .whitespaces)
print("After trimming:\(_searchStr)")
}
}
The input in textfield is 409 huỳnh
and the print result is 409 huỳnh
not as expected: 409huỳnh .
From the documentation:
A new string made by removing from both ends of the receiver characters contained in set.
It does not remove characters within the string.
You can replace whitespaces – corresponding to the .whitespaces
character set – in the string with regular expression:
let _searchStr = searchStr.replacingOccurrences(of: "\\s", with: "", options: .regularExpression)