Python String .strip() 函数返回错误输出

Python String .strip() function returning wrong output

我有以下字符串

'file path = data/imagery/256:0:10.0:34:26:-1478/256:0:10.0:34:26:-1478_B02_10m.tif'

我正在尝试从上面的字符串中获取 256:0:10.0:34:26:-1478_B02_10m.tif

但是如果我运行

os.path.splitext(filepath.strip('data/imagery/256:0:10.0:34:26:-1478'))[0]

输出'_B02_10m'

filepath.rstrip('data/imagery/256:0:10.0:34:26:-1478')

Python 的 strip 不会去除参数中的字符串,而是将其用作要从原始字符串中删除的字符列表,请参阅:https://docs.python.org/3/library/stdtypes.html#str.strip

编辑:这没有提供有意义的解决方案,请参阅已接受的答案。

假设您想要 / 之后的所有字符串数据,您始终可以使用 string.split。这会将您的字符串吐出到拆分字符串上拆分的字符串列表中。那么你只需要这个列表的最后一项。

string_var.split("/")[:-1]

在 string.split here 上查看更多官方 python 文档。

你应该使用 string.split()

而不是使用 strip

以下代码段为您提供所需的子字符串:

filepath = "data/imagery/256:0:10.0:34:26:-1478/256:0:10.0:34:26:-1478_B02_10m.tif"
print(filepath.split('/')[-1])

输出:

256:0:10.0:34:26:-1478_B02_10m.tif