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