How to strip special characters out of string?中的答案是不起作用的。
下面是我得到的结果,它给了我一个错误
func removeSpecialCharsFromString(str: String) -> String {
let chars: Set<String> = Set(arrayLiteral: "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLKMNOPQRSTUVWXYZ1234567890+-*=(),.:!_")
return String(str.characters.filter { chars.contains($0) }) //error here at $0
}
$0
的错误显示
字符串(又称字符)无法转换为所需的参数类型‘_Element’。
发布于 2015-09-30 03:07:07
如下所示:
func removeSpecialCharsFromString(text: String) -> String {
let okayChars : Set<Character> =
Set("abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLKMNOPQRSTUVWXYZ1234567890+-*=(),.:!_".characters)
return String(text.characters.filter {okayChars.contains($0) })
}
下面是如何测试:
let s = removeSpecialCharsFromString("père") // "pre"
发布于 2018-03-13 08:09:47
SWIFT 4:
func removeSpecialCharsFromString(text: String) -> String {
let okayChars = Set("abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLKMNOPQRSTUVWXYZ1234567890+-=().!_")
return text.filter {okayChars.contains($0) }
}
更干净的方式:
extension String {
var stripped: String {
let okayChars = Set("abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLKMNOPQRSTUVWXYZ1234567890+-=().!_")
return self.filter {okayChars.contains($0) }
}
}
像这样使用这个扩展:
let myCleanString = "some.Text@#$".stripped
输出:"some.Text“
发布于 2018-03-23 20:05:04
我认为更干净的解决方案可能是这种方法:
extension String {
var alphanumeric: String {
return self.components(separatedBy: CharacterSet.alphanumerics.inverted).joined().lowercased()
}
}
https://stackoverflow.com/questions/32851720
复制相似问题