首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Swift 2中删除字符串中的特殊字符?

如何在Swift 2中删除字符串中的特殊字符?
EN

Stack Overflow用户
提问于 2015-09-30 02:55:33
回答 5查看 43.2K关注 0票数 45

How to strip special characters out of string?中的答案是不起作用的。

下面是我得到的结果,它给了我一个错误

代码语言:javascript
复制
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’。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-09-30 03:07:07

如下所示:

代码语言:javascript
复制
func removeSpecialCharsFromString(text: String) -> String {
    let okayChars : Set<Character> = 
        Set("abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLKMNOPQRSTUVWXYZ1234567890+-*=(),.:!_".characters)
    return String(text.characters.filter {okayChars.contains($0) })
}

下面是如何测试:

代码语言:javascript
复制
let s = removeSpecialCharsFromString("père") // "pre"
票数 67
EN

Stack Overflow用户

发布于 2018-03-13 08:09:47

SWIFT 4:

代码语言:javascript
复制
func removeSpecialCharsFromString(text: String) -> String {
    let okayChars = Set("abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLKMNOPQRSTUVWXYZ1234567890+-=().!_")
    return text.filter {okayChars.contains($0) }
}

更干净的方式:

代码语言:javascript
复制
extension String {

    var stripped: String {
        let okayChars = Set("abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLKMNOPQRSTUVWXYZ1234567890+-=().!_")
        return self.filter {okayChars.contains($0) }
    }
}

像这样使用这个扩展:

代码语言:javascript
复制
let myCleanString = "some.Text@#$".stripped

输出:"some.Text“

票数 44
EN

Stack Overflow用户

发布于 2018-03-23 20:05:04

我认为更干净的解决方案可能是这种方法:

代码语言:javascript
复制
extension String {
    var alphanumeric: String {
        return self.components(separatedBy: CharacterSet.alphanumerics.inverted).joined().lowercased()
    }
}
票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32851720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档