我有一个浮动和字符的混合向量,我从文本文件流式传输。此向量正在以字符串形式读入。我的问题是我只想解析浮点数并忽略字符。我怎样才能做到这一点?
v = "Float_or_Char"
if isblank(v) == false # <-- v might be blank as well
Parse(Float64,v) # <-- only if v is a Float (how do I do this?)
end
答案 0 :(得分:4)
假设x
是一个字符串向量,其中一些是浮点字符串,其余是实际字符串,你可以做类似的事情
for i in 1:length(x)
f = NaN
try
f = float(x[i])
println("$i is a float")
catch
println("$i isn't a float")
end
end
如果您正在使用Julia 0.4(尚未发布),如果您只想使用新x
类型和新方法Nullable
来自tryparse
的花车,您可能会非常喜欢
maybe_floats = map(s->tryparse(Float64,s), x)
floats = map(get, filter(n->!isnull(n), maybe_floats))