我有一个JSON字符串,正在尝试删除所有特殊字符(即正则表达式[!@#$%^’&*(),.?":{}|<>]
定义的那些(
我尝试过的一些jq表达式如下:
sub("[!@#$%^’&*(),.?":{}|<>]"; "")
sub("/[!@#$%^’&*(),.?":{}|<>]/g"; "")
sub("/W|_/g"; "")
有人能帮忙吗?
使用gsub(_;"")
或sub(_;"";"g")
,其中_是一个jq表达式,用于计算指定正则表达式的相关JSON字符串。
由于_必须是jq表达式,因此适用字符串的jq转义规则,例如,要转义双引号,请使用"
。字符串插值也是允许的。
所以在目前的例子中,_可以是:
"[!@#$%^’&*(),.?":{}|<>]"
另请参阅jq文档和Regex模式,包括所有特殊字符
最终工作解决方案:
tags: (.title
| sub("([!@#$%^’&*(),.?|])"; ""; "g")
| split(" ")
以及,转义撇号或单引号(如果需要(:
tags: (.title
| sub("([!@#$%^’'"'"';:&*(),.?|])"; ""; "g")
| split(" ")