在分隔符中实现字符串Swift3
问题描述:
我有一个问题。我使用货币工作,我想将正确的货币符号自动放入应用程序中以修剪整个字符串。首先,我有这样的代码剪断:在分隔符中实现字符串Swift3
let firstPriceTrimmed = firstPrice.components(separatedBy: "€").flatMap { String($0.trimmingCharacters(in: .whitespaces)) }.last
现在我的代码IST样子:
switch sideIDS {
case 6, 8, 9, 10, 12:
var current = "€"
let firstPriceTrimmedNew = firstPriceTrimmed?.components(separatedBy: String(current)) { String($0.trimmingCharacters(in: .whitespaces)) }.first
case 7:
var current = "£"
let firstPriceTrimmedNew = firstPriceTrimmed?.components(separatedBy: String(current)) { String($0.trimmingCharacters(in: .whitespaces)) }.last
case 11:
var current = "₹"
let firstPriceTrimmedNew = firstPriceTrimmed?.components(separatedBy: String(current)) { String($0.trimmingCharacters(in: .whitespaces)) }.last
default:
XCTFail()
}
但没有奏效。 XCode将消息“Can not invoke'components'用类型为'(separatedBy:String ?,(_) - > _)'的参数列表'。'什么错误?我不明白XCode是什么意思...
答
你还没有加入.flapMap
或switch
所有cases
内的任何其他封闭与components(separatedBy:)
结果。
let firstPriceTrimmedNew: String
switch sideIDS {
case 6, 8, 9, 10, 12:
let current = "€"
firstPriceTrimmedNew = firstPriceTrimmed?.components(separatedBy: current).flatMap { String($0.trimmingCharacters(in: .whitespaces)) }.first
case 7:
let current = "£"
firstPriceTrimmedNew = firstPriceTrimmed?.components(separatedBy: current).flatMap { String($0.trimmingCharacters(in: .whitespaces)) }.last
case 11:
let current = "₹"
firstPriceTrimmedNew = firstPriceTrimmed?.components(separatedBy: current).flatMap { String($0.trimmingCharacters(in: .whitespaces)) }.last
default:
XCTFail()
}
非常感谢它的作品。但现在我还有一个问题,我的问题是现在,我不能在案例之外获得新的信息,'firstPriceTrimmedNew'变量超出了案件的范围,是否有可能获得案件以外的信息?'return firstPriceTrimmedNew'无效...... – Saintz
@Saintz检查编辑的答案 –
你有解决方案,我得到的情况以外的信息? – Saintz