我正在尝试清理单词:
Words
1 The
2 is
3 apple
4 grape
....so on
在number_words = [0]*len(words)
for i in range(len(words)):
for j in range(len(tweets)):
if words[i] in tweets[j]:
number_words[i] += 1
number_words
之后的所有单词都用双引号引起来,如下所示:
{"id":1, "name":Robert}, {"id":2, "name":"Skylar"}, {"id":3, "name":"Ben"}, {"id":4, "name":Anne}
我如何使用sed清理它?
谢谢
答案 0 :(得分:2)
sed 's/\("name":\)\([A-Za-z]\+\)/\1"\2"/g' file
\("name":\)
(ERE:("name":)
)与"name":
匹配,并将其放置在捕获组1中,\([A-Za-z]\+\)
(ERE:([A-Za-z]+)
)匹配一组由字母A到Z和a到z的字符并将其放入捕获组2,\1
和\2
扩展到捕获组的内容。答案 1 :(得分:0)
如果您的数据位于d
文件中,请尝试使用gnu sed:
sed -E 's/("name":\s*)"?([^"}]+)"?\s*\}/\1"\2"\}/g' d