我收到了以下代码:
def gps():
print("\t\tGPS information:")
for tag in tags.keys():
if 'GPS' in tag:
print "%s: , %s" % (tag, tags[tag])
当我运行此输出时,我的输出如下:
GPS GPSLatitudeRef: , S
GPS GPSLatitude: , [33, 51, 2191/100]
GPS GPSLongitude: , [151, 13, 1173/100]
GPS GPSVersionID: , [0, 0, 2, 2]
如何过滤文字以删除GPS? 我确实用spitline尝试了它但是不能让它在if循环中工作。
答案 0 :(得分:1)
如果您的示例输出是输出结果的正确表示。
if 'GPS' in tag:
print "%s: , %s" % (tag.split(' ')[1], tags[tag])
答案 1 :(得分:1)
更换所有GPS'只需用空字符串替换它,
if 'GPS' in tag:
print "%s: , %s" % (tag.replace('GPS', ''), tags[tag])
或者,只是第一次出现,
if 'GPS' in tag:
print "%s: , %s" % (tag.replace('GPS', '', 1), tags[tag])
指定要替换的出现次数(在本例中为1)。或者,像zondo指定的那样,
tag.lstrip('GPS')
<强>更新强>
要删除开头的空格,可以使用lstrip方法
tag.replace('GPS', '').lstrip()
答案 2 :(得分:1)
也许它不是Python中最方便的解决方案,但您也可以使用正则表达式来进行更复杂的替换:
import re
for tag in tags.keys():
print "%s: %s" % (re.sub(r'^.*?GPS', '', tag), tags[tag])
(删除第一次GPS出现)。如果您想要从开头删除所有到'GPS'(包括GPS),只需输入:
print "%s: %s" % (re.sub(r'^.*GPS', '', tag), tags[tag])
(删除'?'问号)。但是,对于字符串:
"GPS SomeStringGPS"
结果会得到空字符串,所以要小心。
已编辑:已添加第二个案例。