Swift技术问题:如何仅从字符串中提取字母?
在Swift中提取字符串里的所有字母
嘿,我来帮你实现这个需求!要在Swift里只提取字符串中的字母,我们可以给String类型扩展一个计算属性,这样就能像你示例里那样直接调用str.letters啦。
核心实现代码
extension String { var letters: String { // 过滤出所有属于字母的字符,再拼接成新字符串 return filter { $0.isLetter } } }
示例用法
let str = "he4ll5663#$#0o" print(str.letters) // 输出 "hello"
扩展玩法(可选)
如果有更细分的需求,还可以调整过滤条件:
- 只保留小写字母:
extension String { var lowercaseLetters: String { filter { $0.isLowercase } } }
- 只保留大写字母:
extension String { var uppercaseLetters: String { filter { $0.isUppercase } } }
这个方法利用了Swift标准库中Character的isLetter属性,不仅能识别英文字母,还支持Unicode中的其他字母字符哦~
内容的提问来源于stack exchange,提问作者Gal Shahar
相关产品推荐
相关产品推荐

