我有一个产生变量current_out_dir
的for循环,有时变量在行的末尾会有一个/.
(即/.$
)我想要替换/.$
1}}与/$
。目前我有.replace('/.','/')
,但这会替换以.
开头的隐藏目录。例如/home/.log/file.txt
我调查了re.sub()
,但我无法弄清楚如何应用它。
答案 0 :(得分:1)
Dot将匹配任何不是换行符的字符。因此,您需要转义点以匹配文字点。
re.sub(r'(?<=/)\.$', r'', string)
答案 1 :(得分:1)
/\.(?=$)
试试这个。这应该适合你。这使用积极的先行来断言字符串的结尾。
答案 2 :(得分:0)
问题是关于使用正则表达式,但我已经提出了一个更加pythonic解决问题的方法。
if os.path.split(current_out_dir)[1] == '.':
current_out_dir = os.path.split(current_out_dir)[0]