ios – 如何删除除Swift中的CharacterSet之外的所有字符

前端之家收集整理的这篇文章主要介绍了ios – 如何删除除Swift中的CharacterSet之外的所有字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试修剪电话号码并使用以下代码,但它不会修剪空格或“ – ”.除了给出的字符集之外,我需要擦除所有字符
func trimmedNumber(s : String)->String
 {
    let characterSet = NSCharacterSet(charactersInString: "+*#0123456789")
   let trimmedString =  s.stringByTrimmingCharactersInSet(characterSet.invertedSet)
    return trimmedString
}

解决方法

func trimmedNumber(s : String) -> String {
  let characterSet = Set("+*#0123456789".characters)
  return String(s.characters.lazy.filter(characterSet.contains))
}

或者在Swift 1中:

func trimmedNumber(s : String) -> String {
  let characterSet = Set("+*#0123456789")
  return String(lazy(s).filter { characterSet.contains($0) })
}
原文链接:https://www.f2er.com/iOS/335565.html

猜你在找的iOS相关文章