我有一个非常长的文件,其中有一些随机的GPS乱码,我想删除它。基本上,一切都在,但有时你会得到这样的东西:
<gibberish <data data>
- 多个左括号,无需关闭。问题是胡言乱语的长度各不相同。如何找到并更换乱码部分? - 在这个例子中,"<gibberish "
?我认为这可能是在python中完成的,但任何语言都可以。
答案 0 :(得分:0)
您可以使用re.sub
功能。
>>> s = '<E,104,55793,329,G858B,0 48800.780 48805.424 08:37:47.55 01/08/26 0> <E,104,56294,334,G858B,0 48800.690<E,104,56392,335,G858B,0 48800.638 48805.410 08:37:48.15 01/08/26 0>'
>>> re.sub(r'<[^<>]*<', r'<', s)
'<E,104,55793,329,G858B,0 48800.780 48805.424 08:37:47.55 01/08/26 0> <E,104,56392,335,G858B,0 48800.638 48805.410 08:37:48.15 01/08/26 0>'
答案 1 :(得分:0)
你可以通过找到最后一个开放式括号的索引,并从那一点开始采取一切措施来做到这一点:
source = '<E,104,56294,334,G858B,0 48800.690<E,104,56392,335,G858B,0 48800.638 48805.410 08:37:48.15 01/08/26 0>'
data = source[source.rfind('<'):]