使用正则表达式删除字符串末尾的不可预测的日期格式

伊舒·古普塔

我以以下方式获取字符串,日期以随机模式结尾。但是它将仅包含下划线,斜杠,数字或连字符。

TRAVEL_DELAY_01072015
TRAVEL_DELAY_01_07_2015
TRAVEL_DELAY_2015/01/04
TRAVEL_DELAY_2015-01-04

我只需要从上述字符串中取出TRAVEL_DELAY。我为此使用正则表达式,但无法正常工作:

m = re.match("^(.*)[_0-9\/.]+", abovestring)
帕德拉克·坎宁安

如果您只想分割日期:

s="""TRAVEL_DELAY_01072015
TRAVEL_DELAY_01_07_2015
TRAVEL_DELAY_2015/01/04
TRAVEL_DELAY_2015-01-04"""

for line in s.splitlines():
    date = line.split("_",2)[-1]

01072015
01_07_2015
2015/01/04
2015-01-04

或者str.replace,不需要正则表达式:

for line in s.splitlines():
    date = line.replace("TRAVEL_DELAY_","")
    print(date)

 01072015
 01_07_2015
 2015/01/04
 2015-01-04

如果您实际上是想解析日期,则可以使用dateutil并修复字符串:

from dateutil import parser
for line in s.splitlines():
    date = line.replace("TRAVEL_DELAY_","")
    if any(ch in date for ch in ("/","-","_")):
        print(parser.parse(date.replace("_","-")))
    else:
        date = "{}-{}-{}".format(date[:2],date[2:4],date[4:])
        print(parser.parse(date))


2015-01-07 00:00:00
2015-01-07 00:00:00
2015-01-04 00:00:00
2015-01-04 00:00:00

如果数字仅在日期中,并且您实际上想要的是字符串而不是日期:

 s="""TRAVEL_DELAY_01072015
TRAVEL_DELAY_01_07_2015
TRAVEL_DELAY_2015/01/04
Travel_Delay_Data_2015/01/04
TRAVEL_DELAY_2015-01-04"""

for line in s.splitlines():
    ind = next(ind for ind, ele in enumerate(line) if ele.isdigit())
    s = line[:ind-1]
    print(s)

TRAVEL_DELAY
TRAVEL_DELAY
TRAVEL_DELAY
Travel_Delay_Data
TRAVEL_DELAY

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

您如何使用正则表达式从字符串的末尾删除可能重复的模式?

来自分类Dev

PCRE正则表达式。从字符串2的末尾删除字符串1,使用任意数量的*字符

来自分类Dev

PCRE正则表达式。从字符串2的末尾删除字符串1,使用任意数量的*字符

来自分类Dev

使用正则表达式删除字符串

来自分类Dev

使用正则表达式删除字符串

来自分类Dev

使用正则表达式如何删除字符串中的日期和时间?

来自分类Dev

从字符串末尾删除多余字符的好的正则表达式是什么?

来自分类Dev

用于删除字符串末尾字符的正则表达式

来自分类Dev

正则表达式从字符串的末尾删除数字和连字符(-)

来自分类Dev

正则表达式删除字符串末尾的一定数量的\ n

来自分类Dev

正则表达式删除字符串末尾的一定数量的\ n

来自分类Dev

正则表达式从字符串'['的末尾']'的开头删除

来自分类Dev

正则表达式从具有可预测格式的字符串中提取多个子字符串

来自分类Dev

正则表达式:删除字符串末尾的数字,并删除特定字符串后的文本

来自分类Dev

使用正则表达式替换字符串末尾的重复字符集

来自分类Dev

使用正则表达式从字符串日期获取子字符串

来自分类Dev

字符串格式/模板/正则表达式

来自分类Dev

特定字符串格式的正则表达式

来自分类Dev

正则表达式以@ ... @ .... @格式替换字符串

来自分类Dev

如何使用正则表达式从字符串中删除特定字符串

来自分类Dev

正则表达式类似日期的字符串

来自分类Dev

使用正则表达式匹配末尾包含“(number)”模式的字符串

来自分类Dev

在javascript中使用正则表达式在字符串末尾找到匹配项

来自分类Dev

使用python正则表达式排除'。' 在末尾但不在字符串内

来自分类Dev

在javascript中使用正则表达式在字符串末尾找到匹配项

来自分类Dev

javascript正则表达式从字符串中删除特定格式的文本

来自分类Dev

javascript正则表达式从字符串中删除特定格式的文本

来自分类Dev

用正则表达式删除字符串

来自分类Dev

正则表达式:删除中间字符串

Related 相关文章

  1. 1

    您如何使用正则表达式从字符串的末尾删除可能重复的模式?

  2. 2

    PCRE正则表达式。从字符串2的末尾删除字符串1,使用任意数量的*字符

  3. 3

    PCRE正则表达式。从字符串2的末尾删除字符串1,使用任意数量的*字符

  4. 4

    使用正则表达式删除字符串

  5. 5

    使用正则表达式删除字符串

  6. 6

    使用正则表达式如何删除字符串中的日期和时间?

  7. 7

    从字符串末尾删除多余字符的好的正则表达式是什么?

  8. 8

    用于删除字符串末尾字符的正则表达式

  9. 9

    正则表达式从字符串的末尾删除数字和连字符(-)

  10. 10

    正则表达式删除字符串末尾的一定数量的\ n

  11. 11

    正则表达式删除字符串末尾的一定数量的\ n

  12. 12

    正则表达式从字符串'['的末尾']'的开头删除

  13. 13

    正则表达式从具有可预测格式的字符串中提取多个子字符串

  14. 14

    正则表达式:删除字符串末尾的数字,并删除特定字符串后的文本

  15. 15

    使用正则表达式替换字符串末尾的重复字符集

  16. 16

    使用正则表达式从字符串日期获取子字符串

  17. 17

    字符串格式/模板/正则表达式

  18. 18

    特定字符串格式的正则表达式

  19. 19

    正则表达式以@ ... @ .... @格式替换字符串

  20. 20

    如何使用正则表达式从字符串中删除特定字符串

  21. 21

    正则表达式类似日期的字符串

  22. 22

    使用正则表达式匹配末尾包含“(number)”模式的字符串

  23. 23

    在javascript中使用正则表达式在字符串末尾找到匹配项

  24. 24

    使用python正则表达式排除'。' 在末尾但不在字符串内

  25. 25

    在javascript中使用正则表达式在字符串末尾找到匹配项

  26. 26

    javascript正则表达式从字符串中删除特定格式的文本

  27. 27

    javascript正则表达式从字符串中删除特定格式的文本

  28. 28

    用正则表达式删除字符串

  29. 29

    正则表达式:删除中间字符串

热门标签

归档