嗨,我有一个文件,其中包含数千个文件路径,我希望将其移至Wazhu。问题是我需要目录,所以我看起来像>/apples/oranges/test.ex<
我需要的是>/apples/oranges<
不知道Regex还是仅使用str.replace()
更好。由于每行都不相同,因此我需要找到最后一个/
并将其以及所有内容删除,直到<
希望这很有道理。
s = '>/apples/oranges/test.ex<'
s = '/'.join(s.split('/')[:-1])+'<' # Splits s by '/', remove the last object, join them together, plus a '<'
print(s)
>/apples/oranges<
尝试/[^/\r\n]*<$
替换此<
您不需要使用正则表达式即可。您可以简单地使用:os.path.split
import os
head, tail = os.path.split("/apples/oranges/test.ex")
print(head)
Output: /apples/oranges
我也遇到了同样的问题,以上方法解决了它!
您的意思是您只想要除最后一个“ /”以外的所有内容?
import os
file = open('file.txt', 'r')
for line in file.read().splitlines():
print('/'.join(line.split('/',-1)[:-1]) + "<")
您可以写
import re
s = '>/apples/oranges/test.ex<'
re.match(r'.*(?=\/)', s).group()
返回]
。>/apples/oranges
这是有效的,因为
.*
是贪婪的,因此它消耗了直到最后一个斜杠的所有正斜杠。(?=\/)
是正向超前
group(0)
也可以。