You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:58:03