【问题标题】:i want to use regular expressions to change the filename like this我想使用正则表达式来更改这样的文件名
【发布时间】:2018-08-17 04:48:55
【问题描述】:

我想像这样使用正则表达式来更改文件名

1-30330036.jpg change to  1-30330036
1-30330036-1.jpg change to   1-30330036

如何编写正则表达式?

我已经解决了这个问题!

【问题讨论】:

  • 请提供您遇到问题的代码示例。
  • 您真的要重命名文件、删除扩展名并覆盖重复的文件名吗?

标签: python regex filenames


【解决方案1】:
txt=["30330036.jpg","1-30330036.jpg","1-30330036-1.jpg","1-30330036A.jpg"]
regex=r"([\d+]-)?(\d+)(\w+)?(-[\d+])?.jpg"
result=[re.search(regex,s).group(2) for s in txt]
print(result)

输出:

['30330036', '30330036', '30330036', '30330036']

【讨论】:

  • 但有时我们需要将这个 30330036.jpg 更改为 30330036 并且文件名可能是 [a-z]
  • ["1-30330036A.jpg","1-30330036-1.jpg","30330036-1.jpg","30330036.jpg"] 如何改成 30330036. 30330036 只是文件名, 这个文件名可能包含 abc....@1pluszara
  • 更新了我的答案,但仍然不确定您的实际输入和输出是什么!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-02
相关资源
最近更新 更多