如何在Swift中删除字符串中的空格?
发布时间:2020-12-14 05:41:20 所属栏目:百科 来源:网络整理
导读:这个工作 let replaced = String(map(aString.generate()) { $0 == " " ? "-" : $0 }) 这不是 let replaced = String(map(aString.generate()) { $0 == " " ? "" : $0 }) 为什么? 枚举一个字符串给出一系列的字符,所以$0里面 封闭类型为Character.这编译 {
这个工作
let replaced = String(map(aString.generate()) { $0 == " " ? "-" : $0 }) 这不是 let replaced = String(map(aString.generate()) { $0 == " " ? "" : $0 }) 为什么?
枚举一个字符串给出一系列的字符,所以$0里面
封闭类型为Character.这编译 { $0 == " " ? "-" : $0 } 因为在这个上下文中的“ – ”被解释为字符文字 { $0 == " " ? "" : $0 } 不编译,因为“”不是字符文字(在条件表达式a?b:c中的操作数b和c 您可以通过将$0转换为字符串来修复它: { $0 == " " ? "" : String($0) } 但是现在映射返回一个字符串数组 let replaced = "".join(map(aString) { $0 == " " ? "" : String($0) }) // Swift 2 / Xcode 7: let replaced = "".join(aString.characters.map({ $0 == " " ? "" : String($0) })) (请注意,不需要调用generate().) 当然也可以实现同样的结果 let replaced = aString.stringByReplacingOccurrencesOfString(" ",withString: "") (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |