我有一个字符串,其格式如下:
{u city : u Zurich , u name : u Hauptbahnhof , u address : u Test address, C106, Bahnhofsstrasse }
我需要删除所有" u "
(带空格)并用换行符替换", u "
(带空格),但我不知道我该怎么做。
是否可以使用sed?
输出应该像
{city :Zurich
name :Hauptbahnhof
address :Test address, C106, Bahnhofsstrasse }
谢谢你们
答案 0 :(得分:2)
以下似乎有效(有一些空格差异):
's/, u /\n/g;s/\bu //g'
即。首先用换行符替换所有", u "
,然后删除所有u
,其中u
前面没有单词字符。
请注意,输出不是有效的JSON。
答案 1 :(得分:1)
使用perl
命令行替换如下所示,使用\b
标记来匹配确切的单词,而不是弄乱其他字符串。
perl -pe 's/\bu \b//g;' -pe 's/\b , \b/\n/g;' file
{city : Zurich
name : Hauptbahnhof
address : Test address, C106, Bahnhofsstrasse }
正如其他人指出的那样,如果它是一个损坏的JSON
使用jq
或其他方法来解决它。