在下面拆分一个文件名python

2024-10-01 22:38:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我的文件名是“Planning_Group_20180108.ind”。我只想把策划小组排除在外。文件名也可以类似于Soldto_20180108,在这种情况下,输出应该是Soldto。在

不使用regex的解决方案更可取,因为对于尚未使用regex的人来说,它更容易阅读


Tags: 文件名group情况小组解决方案regexplanningind
3条回答

下面这些应该对你有用

s="Planning_Group_20180108.ind"
'_'.join(s.split('_')[:-1])

这样您就可以创建一个列表,它是在_处拆分的字符串。用[:-1]删除最后一部分。'_'.join()将列表元素组合到结果列表中。在

print("Planning_Group_20180108.ind".rsplit("_", 1)[0])
print("Soldto_20180108".rsplit("_", 1)[0])

rsplit允许您在检测到“U”时从末尾拆分X倍。在您的例子中,它将把它拆分成两个字符串的数组[“Planning_Group”,“20180108.ind”],您只需要获取第一个元素[0](http://python-reference.readthedocs.io/en/latest/docs/str/rsplit.html

您可以使用re

import re
s = ["Planning_Group_20180108.ind", 'Soldto_20180108']
new_s = list(map(lambda x:re.findall('[a-zA-Z_]+(?=_\d)', x)[0], s))

输出:

^{pr2}$

相关问题 更多 >

    热门问题