Swift&x2013;如何在不从字符串中删除表情符号的情况下删除特殊字符?
如何在不删除表情符号的情况下从字符串中删除所有特殊字符 我试过:Swift&x2013;如何在不从字符串中删除表情符号的情况下删除特殊字符?,swift,string,special-characters,emoji,Swift,String,Special Characters,Emoji,如何在不删除表情符号的情况下从字符串中删除所有特殊字符 我试过: func removeSpecialCharsFromString(text: String) -> String { let okayChars : Set<Character> = Set("abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLKMNOPQRSTUVWXYZ1234567890-& ".characters) return S
func removeSpecialCharsFromString(text: String) -> String {
let okayChars : Set<Character> =
Set("abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLKMNOPQRSTUVWXYZ1234567890-& ".characters)
return String(text.characters.filter {okayChars.contains($0) })
}
func从字符串中删除特殊字符(文本:字符串)->String{
设okayChars:Set=
集合(“ABCDEFGHIJKLMNOPQRSTUVXYZ ABCDEFGHIJKLKMNOPQRSTUVXYZ1234567890-&”.characters)
返回字符串(text.characters.filter{okayChars.contains($0)})
}
–但此函数也会从字符串中删除表情符号
预期结果:
“大家好!需要一些钱吗$这里的问题是如何理解一个角色是否是表情符号。斯威夫特有一个简便的方法,我们可以使用 以下是使用
isEmoji
方法更新的函数:
func删除特殊字符(从文本:String)->String{
设okayChars=CharacterSet(charactersIn:“abcdefghijklmnopqrstuvxyz abcdefghijklkmnopqrstuvxyz1234567890-&”)
返回字符串(text.unicodeScalars.filter{okayChars.contains($0)| |$0.properties.isEmoji})
}
万一有人要在操场上测试上面的代码:
let input=“大家好!”!?需要一些钱$这里的问题是如何理解一个角色是否是表情符号。斯威夫特有一个我们可以使用的简便方法
以下是使用isEmoji
方法更新的函数:
func删除特殊字符(从文本:String)->String{
设okayChars=CharacterSet(charactersIn:“abcdefghijklmnopqrstuvxyz abcdefghijklkmnopqrstuvxyz1234567890-&”)
返回字符串(text.unicodeScalars.filter{okayChars.contains($0)| |$0.properties.isEmoji})
}
万一有人要在操场上测试上面的代码:
let input=“大家好!需要一些钱吗$您可以使用下面的扩展名使您的句子按照所需的输出完美
extension String {
var condensedWhitespace: String {
let components = self.components(separatedBy: NSCharacterSet.whitespacesAndNewlines)
return components.filter { !$0.isEmpty }.joined(separator: " ")
}
func removeSpecialCharacters() -> String {
let okayChars = CharacterSet(charactersIn: "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLKMNOPQRSTUVWXYZ1234567890 ")
return String(self.unicodeScalars.filter { okayChars.contains($0) || $0.properties.isEmoji })
}
}
例如
let input=“大家好!”!?需要一些钱$您可以使用下面的扩展,使您的句子按照所需的输出完美
extension String {
var condensedWhitespace: String {
let components = self.components(separatedBy: NSCharacterSet.whitespacesAndNewlines)
return components.filter { !$0.isEmpty }.joined(separator: " ")
}
func removeSpecialCharacters() -> String {
let okayChars = CharacterSet(charactersIn: "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLKMNOPQRSTUVWXYZ1234567890 ")
return String(self.unicodeScalars.filter { okayChars.contains($0) || $0.properties.isEmoji })
}
}
例如
let input=“大家好!需要一些钱吗?$这可能会有帮助-@mag_zbc谢谢,但我看不出该链接对我有什么帮助。我已经使用扩展名查看我的字符串是否包含表情符号。你说的“特殊字符”是什么意思?你是说“除表情符号以外的任何非ASCII”还是“英语标点符号”“还是别的什么?字母u会被认为是一个特殊字符吗?我的意思是除了表情符号以外的所有非ASCII字符。这可能会有帮助-@mag_zbc谢谢,但我不知道这个链接对我有什么帮助。我已经使用了扩展名来查看我的字符串是否包含表情符号。你说的“特殊字符”是什么意思?你的意思是“除表情符号外的任何非ASCII码”或“英语标点符号”还是其他什么?字母u会被认为是一个特殊的字符吗?我的意思是所有非ASCII字符,除了表情符号,它就像一个符咒!非常感谢你!真棒的家伙,它就像一个魅力!非常感谢你!