regex - 如何从字符串中去除特殊字符?

标签 regex string swift nsstring nscharacterset

我有一组允许在我的字符串中使用的字符:

var characterSet:NSCharacterSet = NSCharacterSet(charactersInString: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLKMNOPQRSTUVWXYZ")

我想从字符串中去除任何其他字符,这样两个未格式化的数据就可以被认为是相等的,如下所示:

"American Samoa".lowercaseString == "american_samoa1".lowercaseString

这些转换后的字符串的小写版本将是 "americansamoa"

最佳答案

让我们为此编写一个函数(在 swift 1.2 中)。

func stripOutUnwantedCharactersFromText(text: String, set characterSet: Set<Character>) -> String {
    return String(filter(text) { set.contains($0) })
}

你可以这样调用它:

let text = "American Samoa"
let chars = Set("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
let strippedText = stripOutUnwantedCharactersFromText(text, set: chars)

纯 swift 。是的。

关于regex - 如何从字符串中去除特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28819779/

相关文章:

Javascript 正则表达式拆分为不在大括号之间的 =

java - 在特定字符之前插入字符 Java

c++ - 将非 null 终止的 vector<char> 转换为字符串

swift - 为什么泛型特化会在泛型函数中丢失

javascript - 如何检查输入字符串是否是有效的正则表达式?

c# - 如果字符串长度为 2 且包含 1 个字母和 1 个数字,则正则表达式匹配

regex - 无法从网址获取其他项目

c# - 测试字符串中的重复字符

swift - 处理应用程序中的用户交互

arrays - 如何在 UI 中显示解析后的 JSON 数据?