Swift5中如何判断一个字符串是否为空字符串(包含多个空格的状况)

Swift中判断字串是否为空有两种方法:

"xx".isEmpty  --推荐
"xx".count == 0  --不推荐,由于须要遍历,费资源
复制代码

但isEmpty没法判断这种状况:bash

" ".isEmpty  //false 
复制代码

这种所有是空格的字串也被判断成了非空,也就是说Swift认为" "不是空字串。app

在实际开发中咱们通常不但愿这样。ui

因此能够给String加个扩展计算属性:

extension String {
    var isBlank: Bool {
        let trimmedStr = self.trimmingCharacters(in: .whitespacesAndNewlines)
        return trimmedStr.isEmpty
    }
}

" ".isBlank  //true
复制代码

用到的两个东西解释一下:

1.trimmingCharacters

"xx".trimmingCharacters(...)
复制代码

顾名思义,截取字符串。spa

把字符串中的一些东西截掉,而后扔掉code

截掉哪些东西呢?--在括号里面的参数中规定视频

2.CharacterSet

"xx".trimmingCharacters(in: CharacterSet.xxx)
复制代码

参数是个CharacterSet类型,顾名思义:字符集,也就是一堆字符的集合。教程

就是说把咱们日常见到的单个字符按照必定的条件进行了分类,好比:资源

CharacterSet.whitespacesAndNewlines--空格和换行符
CharacterSet.letters--全部英文字母的集合
...
复制代码

他里面有不少静态方法,上面两个就是,因此咱们能够直接用CharacterSet.xx开发

你们能够去文档寻找更多用法: developer.apple.com/documentati…文档

回正题:

trimmingCharacters截掉哪些字串呢,在这里咱们是要截掉全部的空格和换行。

而后再把截掉后的字串用isEmpty来判断,就能够完美的排除用户输入空格的状况了。

固然这是我本身总结的方法,若是你们还有更好的方法欢迎留言

 

广告时间:

你们若是正好想学iOS开发的话,能够来看看小弟的iOS视频教程(永久更新+售后辅导): m.cctalk.com/inst/s9vfhe…

相关文章
相关标签/搜索