背景:遇到客户编号转换成客户ID,只需要将开头字母去掉。
去掉大小写字母有很多方法,第一个想到类似的就是去空格.whitespaces,是不是也有删除其他字符的,一搜索果然有。
[NSCharacterSet controlCharacterSet]; //控制符的字符集
[NSCharacterSet whitespaceCharacterSet]; //空格的字符集
[NSCharacterSet whitespaceAndNewlineCharacterSet]; //空格和换行符的字符集
[NSCharacterSet decimalDigitCharacterSet]; //十进制数字的字符集
[NSCharacterSet letterCharacterSet]; //字母的字符集
[NSCharacterSet lowercaseLetterCharacterSet]; //小写字母的字符集
[NSCharacterSet uppercaseLetterCharacterSet]; //大写字母的字符集
[NSCharacterSet nonBaseCharacterSet]; //非基础的字符集
[NSCharacterSet alphanumericCharacterSet]; //字母和数字的字符集
[NSCharacterSet decomposableCharacterSet]; //可分解
[NSCharacterSet illegalCharacterSet]; //非法的字符集
[NSCharacterSet punctuationCharacterSet]; //标点的字符集
[NSCharacterSet capitalizedLetterCharacterSet]; //首字母大写的字符集
[NSCharacterSet symbolCharacterSet]; //符号的字符集
[NSCharacterSet newlineCharacterSet]; //换行符的字符集
Swift中的使用只需要CharacterSet点一下,找到自己需要的即可。
大写字母和小写字母是两个字符集。
版本1.0代码
let str = "ABCabc9090"
let finish = str.trimmingCharacters(in: .uppercaseLetters).trimmingCharacters(in: .lowercaseLetters)
如果有多个还需要使用trimmingCharacters调用下去,感觉这样写不是个好方法,经过查找测试得出另一种写法。
版本1.1代码
var set = CharacterSet()
set.formUnion(.uppercaseLetters)
set.formUnion(.lowercaseLetters)
let str = "ABCabc9090"
let finish = str.trimmingCharacters(in: set)
print(finish)
附一张运行结果图
WX20210713-125238@2x.png
网友评论