当前位置: 首页 > 知识库问答 >
问题:

在Julia0.4中如何将整数regex捕获转换为整数数组?

田焕
2023-03-14

在Julia0.4中,我无法将整数正则表达式捕获的值转换为整数数组

在Julia0.3中,我可以使用int()来实现这一点,基本上如下所示:

c = ["1", "2"] ;
int(c)

但是在Julia0.4中,这适用于常规字符串:

julia> c = ["1", "2"] ;

julia> int(c)
2-element Array{Int64,1}:
 1
 2

但不适用于子字符串(即regex捕获):

re_dcIV = r"^
([IV])(\S+)\s+
(\d+)\s+
(\d+)\s+
DC\s+
(\S+)\s*$"x ;

line = "V1 1 2 DC 1" ;

m = match( re_dcIV, line ) ;

c = m.captures ;
println( "$c\n" ) ;

nodes = int(c[3:4]) ;
julia> nodes = int(c[3:4]) ;
WARNING: int(x::AbstractArray) is deprecated, use round(Int64,x) instead.
 in depwarn at deprecated.jl:63
 in int at deprecated.jl:49
while loading no file, in expression starting on line 0
ERROR: MethodError: `round` has no method matching round(::Type{Int64}, ::SubString{UTF8String})
Closest candidates are:
  round{T<:Integer}(::Type{T<:Integer}, ::Integer)
  round{T<:Integer}(::Type{T<:Integer}, ::Float16)
  round{T<:Union{Signed,Unsigned}}(::Type{T<:Union{Signed,Unsigned}}, ::Base.MPFR.BigFloat)
  ...
 in round at floatfuncs.jl:72
 in int at deprecated.jl:51
Union{SubString{UTF8String},Void}["V","1","1","2","1"]

共有1个答案

益绯辞
2023-03-14

最直接的方法似乎是使用映射解析:

julia> map(x -> parse(Int, x), c[3:4])
2-element Array{Int64,1}:
 1
 2
 类似资料:
  • 问题内容: 我想将浮点数转换为JavaScript中的整数。实际上,我想知道如何同时进行标准转换:截断和舍入。而且有效,而不是通过转换为字符串和解析。 问题答案: 例子 Positive Negative Positive - Larger numbers Negative - Larger numbers

  • 问题内容: 我想创建一种计算整数和大十进制乘法的方法。我在Google和论坛上搜索没有找到任何内容。 有人能帮我吗? 问题答案: 要将整数(或字节/短/浮点数/双精度数)与BigInteger(或BigDecimal)相乘,必须先将本机数字转换为BigInteger / BigDecimal。 注意:是不一样的,而且在不同的原因的BigDecimal和BigInteger的。在这两种情况下,我建议

  • 问题内容: 我有两个整数和。我需要计算,作为结果,我想浮动。例如,作为结果,我希望得到1.5。我认为,最简单的(或唯一的)的方式来做到这一点是转换和成float类型。不幸的是,我找不到简单的方法。你能帮我吗? 问题答案: 你只需要 投 操作数为浮点的至少一个: 要么 或(不必要)

  • 我有一些带有小端编码字节的文件,我想取字节,指定endianess并使用python(任何版本)将它们转换为十进制数。如何正确执行?

  • 问题内容: 有没有一种方法可以使用内置函数在PHP中将指数数转换为整数?格式化功能? 1.2378147769392E + 14至123781477693917 问题答案: number_format(1.2378147769392E+14,0,’‘,’‘) 但是,要处理大量数字,如果要保持精度,应该研究BCMath扩展

  • 问题内容: 概述Java程序如何将诸如“ 1,2,3,4,5”之类的字符串转换为数组({1,2,3,4,5}) 问题答案: 从zvzdhk: 然后,解析您的整数: