string - 使用 Swift 从单个字符串中解析四个逗号分隔值
问题描述
我需要从单个字符串(例如“0.0100、2.0200、0.10、0.000”)中解析四个逗号分隔的 Double 类型值。字符串长度未知,没有特定的终止符,并且包含具有不同字符数的值。这在 C 语言中会很简单,但在 Swift 中并不完全流利,这让我非常不舒服。在 Swift 中是否有一种优雅的方法可以做到这一点?如果有,请举个例子。
解决方案
正如 Sweeper 和 rmaddy 提到的,这只是一行代码,你可以这样做:
let commaSeparatedString = "0.0100, 2.0200, 0.10, 0.000"
let doubleValuesArray = commaSeparatedString.components(separatedBy: ", ").map { Double($0) } // [Optional(0.01), Optional(2.02), Optional(0.1), Optional(0.0)]
它们是可选的,因为将字符串映射到双精度可能会失败。如果您希望您doubleValuesArray
只包含非可选值,您可以使用compactMap
代替map
. 像这样:
let doubleValuesArray = commaSeparatedString.components(separatedBy: ", ").compactMap { Double($0) } // [0.01, 2.02, 0.1, 0.0]
推荐阅读
- excel - 如何在每一轮循环中更改文件
- sql - 在 SQL Query 的 Excel 单元格中使用日期
- oauth-2.0 - 如何在 Apache Superset 中使用 IdentityServer4 (OAuth2) 实现 SSO?
- google-cloud-platform - 如何从谷歌 python 客户端启动谷歌深度学习虚拟机?
- javascript - 如何使用 Delta 检索 Quill 文本编辑器文本
- c# - 如何正确使用同步方法进行异步?
- swift - 在 iOS 表格视图中解析 XML
- c# - 继承对象的 XML 序列化 C#
- reactjs - 在自定义钩子中使用 redux 的 useDispatch 会产生错误
- git - 在不克隆的情况下比较两个 Git 分支