2024-10-02 00:41:11 发布
网友
我有一个带有文件名的字符串列表。文件名遵循特定的命名格式:
string1_YYYYMMDD_HHMMSS_string2
这里YYYYMMDD和HHMMSS是实际的日期和时间值。在
我想删除每个条目“string1”之后出现的所有字符。我一直在用regex来尝试,但没有白费。有人能帮我吗?在
使用正则表达式:
import re s = 'string1_YYYYMMDD_HHMMSS_string2' newstr = re.sub('_.*', '', s) print(newstr)
注意事项:
_.*
_
re.sub(p, r, s)
s
p
r
更新1
string1 may contain additional underscores. I'd like to retain all of string1 and only get rid of the trailing pattern.
在这种情况下,可以使用以下正则表达式:
演示:https://regex101.com/r/jS2gL5/1
您不需要正则表达式,只需在第一个下划线处拆分:
s = 'string1_YYYYMMDD_HHMMSS_string2' return s.split('_')[0]
[编辑]:
如果只能依赖最后一部分('''u YYYYMMDD\uhhmmss_string2'),请尝试如下所示建立索引:
使用正则表达式:
注意事项:
_.*
与_
及其所有以下字符匹配。在re.sub(p, r, s)
在s
中搜索p
,并将所有匹配项替换为r
。在更新1
在这种情况下,可以使用以下正则表达式:
^{pr2}$演示:https://regex101.com/r/jS2gL5/1
您不需要正则表达式,只需在第一个下划线处拆分:
[编辑]:
如果只能依赖最后一部分('''u YYYYMMDD\uhhmmss_string2'),请尝试如下所示建立索引:
^{pr2}$相关问题 更多 >
编程相关推荐