使用sed删除方括号

纳塔德科科

我正在尝试删除方括号并转换以下字符串:

{"id":1","color": ["green","red", "blue"]}, {"id":2, color:black}

成为:

{"id":1","color": "green,red,blue"}, {"id":2, color:black}

我已经尝试过此代码,但仍然收到错误:

sed:-e表达式#1,char 39:不匹配)或)

sed 's/\("color"\):[\([a-z0-9]*\)]/\1:"\2"/g'

我该如何解决?

维克多·史翠比维

您可以使用

sed ':a;s/\(\[[^][]*\)",[ \t]*"/\1,/;ta ; s/\("color"\):[ \t]*\[\([^][]*\)]/\1:\2/g;' file > newfile

请参阅在线sed演示

:a;s/\(\[[^][]*\)",[ \t]*"/\1,/;ta 细节

  • :a - 标签
  • s/\(\[[^][]*\)",[ \t]*"/\1,/
    • \(\[[^][]*\)-的发现和捕获到组1以外的任何0以上字符][
    • ",-",子字符串
    • [^ \t]* -除空格和制表符外,零个或多个字符
    • "-一个"字符
  • \1, -替换为第1组的内容+逗号
  • ta-循环以:a标记在前面的迭代中是否有匹配项。

s/\("color"\):[ \t]*\[\([^][]*\)]/\1:\2/g 细节

  • \("color"\)-将"color"子字符串匹配并捕获到组1中
  • : -冒号
  • [ \t]* -0+制表符或空格
  • \[-一个[字符
  • \([^][]*\)-第2组:除]以外的任何0+个字符[
  • ]-一个]字符
  • \1:\2-替换为组1值:,组2值
  • g -所有事件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用sed删除带有方括号的行?

来自分类Dev

如何使用sed删除方括号中带有图案的线条

来自分类Dev

如何使用sed用方括号替换值?

来自分类Dev

使用NLTK RegexpTokenizer删除方括号之间的文本

来自分类Dev

使用Powershell删除文件名中的方括号字符

来自分类Dev

使用Ruby在我的API请求中删除方括号?

来自分类Dev

使用双方括号?

来自分类Dev

如何从JSON删除方括号

来自分类Dev

从数组中删除方括号?

来自分类Dev

删除方括号之间的文本

来自分类Dev

从列表中删除方括号

来自分类Dev

仅删除括号内的数字(方括号)

来自分类Dev

在sed中使用反向引用在数学表达式中用方括号替换括号

来自分类Dev

删除方括号之间没有空格的方括号

来自分类Dev

删除方括号之间没有空格的方括号

来自分类Dev

如何逃脱sed中的方括号

来自分类Dev

sed:逸出的方括号不匹配

来自分类Dev

sed:替换方括号之间的字母

来自分类Dev

在AngularJS中使用方括号

来自分类Dev

重击-使用双方括号和单方括号时

来自分类Dev

批处理文件:在方括号内使用方括号?

来自分类Dev

Javascript / regex:删除方括号之间的文本

来自分类Dev

如何从数组中删除方括号?

来自分类Dev

如何删除列表输出中的方括号?

来自分类Dev

Dart删除方括号并添加单引号

来自分类Dev

如何删除散点图例中的方括号?

来自分类Dev

删除方括号及其间的内容

来自分类Dev

删除方括号之间的所有内容

来自分类Dev

PHP删除选定的方括号,并忽略其余