我想从字符串中删除列表中没有的每个字符:“0123456790”
我试过:
let characters = NSCharacterSet(charactersIn: "0123456789.").inverted
string = string.replacingOccurrences(of: characters.allCharacters().description, with: "", options: .regularExpression)
extension CharacterSet {
func allCharacters() -> [Character] {
var result: [Character] = []
for plane: UInt8 in 0...16 where self.hasMember(inPlane: plane) {
for unicode in UInt32(plane) << 16 ..< UInt32(plane + 1) << 16 {
if let uniChar = UnicodeScalar(unicode), self.contains(uniChar) {
result.append(Character(uniChar))
}
}
}
return result
}
}
最佳答案
斯威夫特3
string = (string.components(separatedBy: NSCharacterSet(charactersIn: "0123456789.").inverted) as NSArray).componentsJoined(by: "")