如何用字符串替换正则表达式的行尾?

时间:2014-10-09 15:05:03

标签: python regex

我有一个产生变量current_out_dir的for循环,有时变量在行的末尾会有一个/.(即/.$)我想要替换/.$ 1}}与/$。目前我有.replace('/.','/'),但这会替换以.开头的隐藏目录。例如/home/.log/file.txt

我调查了re.sub(),但我无法弄清楚如何应用它。

3 个答案:

答案 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]