繁体   English   中英

如何删除列表中特定元素的最后两个字符?

[英]How can I remove the last two characters of a specific element in my list?

所以我有这些包含元数据的文本文件,我制作了这段代码来打印它的每一行(第一个元数据文件的):

path = 'C:\\Users\\basse\\Pictures\\OneM\\metadata\\P5JS metadata\\Metadata'

with open(path + '1.txt') as file:
    lines = []
    for line in file:
        lines.append(line)


print(lines[0], end ="")
print(lines[1], end ="")
print(lines[2], end ="")
print(lines[3], end ="")
print(lines[4], end ="")

现在的问题是第四行和第五行在我的元数据文件中看起来像这样

1.0
4.0

所以当我打印它时会发生什么:

Blue sky
Blue Ice
Rounded Rectangle
1.0
4.0

如何删除这些字符的最后两个字符(So the.0)?

你可以这样做,

with open(path + '1.txt') as file:
    lines = []
    for line in file:
        lines.append(line. replace(".0", ""))

print(lines[0], end ="")
print(lines[1], end ="")
print(lines[2], end ="")
print(lines[3], end ="")
print(lines[4], end ="")

或者你可以这样做

with open(path + '1.txt') as file:
    lines = []
    for line in file:
        lines.append(line)

print(lines[0], end ="")
print(lines[1], end ="")
print(lines[2], end ="")
print(lines[3].replace(".0", ""), end ="")
print(lines[4].replace(".0", ""), end ="")

您可以使用正则表达式替换来去除尾随.0

with open(path + '1.txt') as file:
    lines = []
    for line in file:
        lines.append(re.sub(r'\.\d+$', '', line))

以上实际上将去除任何小数部分。 如果您真的只想定位尾随.0 ,请使用\.0$

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM