swift – 致命错误:无法从空字符串形成字符

swift – 致命错误:无法从空字符串形成字符,第1张

概述所以我有一个功能,在字符串的末尾剥去一个尾随的“,”(逗号空格),即使我确保字符串不为空,我也会得到上述错误.以下代码: print("stripping trailing commas") for var detail in details { if detail.contains(",") {print(detail) 所以我有一个功能,在字符串的末尾剥去一个尾随的“,”(逗号空格),即使我确保字符串不为空,我也会得到上述错误.以下代码:

print("stripPing trailing commas")        for var detail in details {            if detail.contains(",") {print(detail)                detail.remove(at: detail.endindex)    // <-- Removes last space                detail.remove(at: detail.endindex)    // <-- Removes last comma            }        }

…结果int以下控制台输出:

stripPing trailing commas2016,Fatal error: Can't form a Character from an empty String

第一个实例detail.remove(at:detail.endindex)正在被调试器突出显示,虽然我无法确定控制台消息中是否存在空格,但我在每个条目的末尾都添加了“,”在列表中,任何实际包含逗号的字符串不仅应该包含字符(如控制台所指示的那样),而且最后应该有两个字符需要被剥离.

在此先感谢您对导致错误的原因以及如何解决的任何帮助?

解决方法 不使用import Foundation(需要contains())或计算索引这样做的简单方法是这样的:

let details = ["one,two,three,","a,b","once,twice,thrice,so nice,""]let filtered = details.map { (original: String) -> String in  guard original.hasSuffix(",") else { return original }  return String(original.characters.dropLast(2))}print(filtered) // -> "["one,three",so nice",""]\n"

这不会删除返回数组中的任何空字符串.如果您需要该功能,可以轻松添加.

总结

以上是内存溢出为你收集整理的swift – 致命错误:无法从空字符串形成字符全部内容,希望文章能够帮你解决swift – 致命错误:无法从空字符串形成字符所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1012200.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存