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 .
In Swift 3 you can use below code to solve the problem
You can use
Hope this helps you !
From the documentation:
It does not remove characters within the string.
You can replace whitespaces – corresponding to the
.whitespaces
character set – in the string with regular expression:trimmingCharacters
removes only leading and trailing white spaces.try this
You can use Swift 5 Character property
isWhitespace
and filter all non whitespaces from your string:Swift 4 alternative
Since Swift 4 Strings are Sequences again. You can use a filter to do that.