确定字符串在Swift中是否仅包含不可见字符

时间:2018-09-21 18:04:04

标签: swift string

我正在解析一个混乱的XML。我发现许多节点仅包含不可见字符,例如:

  • "\n "
  • " "
  • "\t "
  • "\n "
  • "\n\n"

我看到了一些有关字母和数字的文章和答案,但是在我的项目中解析的XML包含UTF8字符。我不确定如何在过滤器中列出所有可见的UTF8字符。

如何确定字符串是否由上述完全不可见的字符组成,因此可以将其过滤掉?谢谢!

2 个答案:

答案 0 :(得分:2)

为此使用CharacterSet

let nonWhitespace = CharacterSet.whitespacesAndNewlines.inverted
let containsNonWhitespace = (string.rangeOfCharacter(from: nonWhitespace) != nil)

答案 1 :(得分:0)

修剪空白字符串和换行符,看看还剩下什么。

if someString.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
    // someString only contains whitespaces and newlines
}