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
我有以下字符串
'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