swift - Swift,删除删除所有字符并仅保留数字
问题描述
我在 swift 中有一个字符串,如下所示:
C/I MFM 1110
是否可以只获得号码?我需要删除所有字母并只保留数字。
谢谢
解决方案
有几种方法,包括正则表达式,但假设您的示例代表格式,空格分隔的文本列,您总是想要最后一列,一个简单的方法是
guard let numSubstr = s.split(whereSeparator: { $0.isWhitespace }).last else {
fatalError("No columns!")
}
let numStr = String(numSubstr)
您要从中提取最后一个非空白的位置s
在哪里。String
Substring
如果您知道该行中只有一个数字(并且该数字是唯一的数字字符所在的位置),您还可以执行以下操作:
let numStr = s.filter { $0.isNumber }
对于更复杂或不同的行格式,您可能需要使用正则表达式或自己逐个字符地显式解析它。
推荐阅读
- html - Html 网站在 android 手机上不滚动,但在 IOS 和桌面上运行良好
- json - 如何设置powershell在返回的JSON api为空时发送电子邮件警报
- java - 如何使用 Spring Data 在 MongoDB 中的继承字段上定义索引?
- vue.js - 对 Cloudant 进行身份验证,每个用户一个 db
- postgresql - 如何对 JSON 使用比较 where 运算符
- scala - 转置大小不等的列表
- javascript - Laravel 对本地 css 和 js 资源的加载非常慢
- javascript - 将存储的值加载到本地日期时间输入中
- rxjs - 如何在 Rxjs 中延迟序列发射
- java - 间歇性 Mongo/JPA IllegalArgumentException 解析地理原生查询