gpt4 book ai didi

javascript - jq:如果可能的话如何转换为数字,如果没有则保持原样?

转载 作者:行者123 更新时间:2023-12-02 14:09:41 24 4
gpt4 key购买 nike

如何在 jq 中创建 some_function ,如果可能的话,该函数将转换为数字,但如果不能则保持原样?例如:

echo '["123","12x3"]' | jq '.[] | some_function'

会返回

123
"12x3"

如果我可以在发生错误时有一些后备,那么 tonumber() 函数就可以正常工作。一些潜在的解决方案可能是允许错误处理,例如iferror(xxx, result_if_error),或者有某种“安全”的 tonumber() 函数,但我找不到一种方法可以让这两种解决方案在 jq 中工作。

对于错误处理方式,我也尝试过:

echo '["123","12x3"]' | jq 'map(try tonumber catch .) '

(以及等效的用户定义函数)无济于事。我猜这个问题有一个简单的解决方案,但我似乎找不到。

最佳答案

您可以简单地写:tonumber?//.

或者作为函数:

def tonumberq: tonumber? // .;

关于javascript - jq:如果可能的话如何转换为数字,如果没有则保持原样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39731356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com