我无法弄清楚我的生活怎么做,我花了几个小时研究。
我有一个后缀形式的表达式,例如:5 6 7 * + 1 - 这是来自UITextField,我想弄清楚的是如何迭代该表达式并将整数与运算符区分开来(* + - )。
是否有某种解析方法?使用它不起作用,我只是得到“Int不是字符的子类型”:
for token in expression {
if token is Int {
...
让我疯了,有人知道解决方案吗?谢谢!
答案 0 :(得分:0)
令牌是一个字符串吗?如果是这样,你可以做类似
的事情var tokens : String[] = ["1","x","2","3","y"]
var ints = tokens.map({t in t.toInt()}).filter({t in t != nil}).map({t in t!})
或者您只想过滤
tokens.filter({t in t.toInt() != nil})
或使用if
for t in tokens {
if t.toInt() {
println(t)
}
}
如果是关于分裂
var tokens : String[] = "1 2 x y 3 z".componentsSeparatedByString(" ")