【问题标题】:Remove multiple double quotes using scala in JSON using regex使用正则表达式在 JSON 中使用 scala 删除多个双引号
【发布时间】:2020-06-05 01:19:38
【问题描述】:

我有这个 Json 字符串

{"LAST_NM":""ILLEGIBLE"","FUL_NM":""}

这是我试图在scala中删除Json上面多余的双引号的替换代码。但它不起作用。

replace(":\"\"[a-z]+\"\"",":\"[a-z]+\"")

【问题讨论】:

    标签: json regex scala apache-spark apache-spark-sql


    【解决方案1】:

    您可以通过将正则表达式括在省略号 - (some_regex) 中来使用正则表达式捕获组,然后使用 $x(x=组号)将其替换为结果。例如:

    scala> val str = "{\"LAST_NM\":\"\"ILLEGIBLE\"\",\"FULL_NM\":\"\",\"FIRST_NAME\":\"\"NOT_SUPPLIED\"\"}"
    str: String = {"LAST_NM":""ILLEGIBLE"","FULL_NM":"","FIRST_NAME":""NOT_SUPPLIED""}
    
    scala> str.replaceAll("\"(\"[^\\,]+?\")\"","$1")
    res5: String = {"LAST_NM":"ILLEGIBLE","FULL_NM":"","FIRST_NAME":"NOT_SUPPLIED"}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-27
      • 2013-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多