Swift5中如何判断一个字符串是否为空字符串
Swift5中如何判断一个字符串是否为空字符串
2019-11-03
Swift中判断字串是否为空有两种方法:
1 | "xx".isEmpty // 推荐 |
但isEmpty无法判断这种情况:
1 | " ".isEmpty // false |
这种全部是空格的字串也被判断成了非空,也就是说Swift认为" "
不是空字串。
在实际开发中我们一般不希望这样。
所以可以给String
加个扩展计算属性:
1 | extension String { |
用到的两个东西解释一下:
1. trimmingCharacters
1 | "xx".trimmingCharacters(...) |
顾名思义,截取字符串。
把字符串中的一些东西截掉,然后扔掉
截掉哪些东西呢?–在括号里面的参数中规定
2. CharacterSet
1 | "xx".trimmingCharacters(in: CharacterSet.xxx) |
参数是个CharacterSet
类型,顾名思义:字符集,也就是一堆字符的集合。
就是说把我们平常见到的单个字符按照一定的条件进行了分类,比如:
1 | CharacterSet.whitespacesAndNewlines // 空格和换行符 |
他里面有很多静态方法,上面两个就是,所以我们可以直接用CharacterSet.xx
大家可以去文档寻找更多用法: developer.apple.com/documentati…
回正题:
让trimmingCharacters
截掉哪些字串呢,在这里我们是要截掉所有的空格和换行。
然后再把截掉后的字串用isEmpty来判断,就可以完美的排除用户输入空格的情况了。
当然这是我自己总结的方法,如果大家还有更好的方法欢迎留言
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Licardo!
评论