正则表达式子返回无

时间:2018-10-03 11:46:34

标签: python regex jsonpath

因此,我正在使用该程序,该程序接受JSON映射器输入,然后继续从源中获取数据。 我们正在导入库存数据,但是有时我们会收到类似50+的信息。

另一个开发人员使用jsonpath-ng库制作了以下映射器,其中包括一个删除不需要的'+'字符的子程序,因为我们不需要这些。

{"quantity": "$..Stock.`sub(/\\\\+/, \\)`", "article_code": "$..Barcode"}

我遇到的问题是,当我们收到50+的数量时,它可以正常工作,将其转换为50很好,但是当我们收到3,则将其转换为None。我似乎无法找到一种方法来防止将没有'+'的值转换为None。

有人知道如何更改它,以便在找到后删除一个“ +”号;如果找不到,则将其保留,而不是将其更改为“无”?

1 个答案:

答案 0 :(得分:1)

似乎出现deliberate decision in jsonpath-ng,如果sub不做任何更改,则该项目将转换为None。我觉得这很令人困惑。

作为一种解决方法,您可以在字符串的末尾附加一个+,然后用sub重写然后,它现在将始终对其进行修改,而不产生{ {1}}。