【问题标题】:Parsing Array of Strings to Object in Julia在 Julia 中将字符串数组解析为对象
【发布时间】:2020-10-28 14:46:40
【问题描述】:

我有以下字符串

l = "['name1', 'name2', 'name3']"

现在,我想把它变成一个合适的字符串数组,例如:

["name1","name2","name3"]

我知道可以在 Julia 中使用 Meta.parse 将表达式转换为 Julia 对象。 以下代码有效:

Meta.parse("['a','b','c']")

但是当每个字符串有多个字符时,Julia 会给出以下错误信息:

Base.Meta.ParseError("字符文字包含多个字符")

关于如何解决这个问题的任何想法?

【问题讨论】:

  • 也许你最好使用 JSON 解析器?

标签: arrays string parsing julia


【解决方案1】:

您可以在解析之前使用replace 将字符串中的'(用于字符)更改为"(用于字符串):

Meta.parse(replace(l, "'" => '"'))

【讨论】:

    【解决方案2】:

    使用JSON3 包:

    julia> JSON3.read(replace("['name1', 'name2', 'name3']", "'"=>"\""))
    3-element JSON3.Array{String,Base.CodeUnits{UInt8,String},Array{UInt64,1}}:
     "name1"
     "name2"
     "name3"
    

    【讨论】:

      猜你喜欢
      • 2011-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-24
      • 1970-01-01
      • 2011-10-29
      • 2013-03-12
      相关资源
      最近更新 更多