【问题标题】:Replace a char which in the string with another char用另一个字符替换字符串中的字符
【发布时间】:2017-12-07 02:55:06
【问题描述】:

我想使用 list2 中的日期格式来列出 1

list1 = ['1628 04 19 21:10:32', '1752 06 15 20:05:36', '1775 04 18 09:15:56', '1865 04 14 14:54:36', '1876 05 10 15:36:27', '1879 10 22 03:45:15', '2010 09 29 04:46:28']

list2 = ['1628  4 19 21:10:32', '1752  6 15 20:05:36', '1775  4 18 09:15:56', '1865  4 14 14:54:36', '1876  5 10 15:36:27', '1879 10 22 03:45:15', '2010  9 29 04:46:28']

只需将单个数字月份中的零替换为空格

【问题讨论】:

    标签: python date format


    【解决方案1】:

    试试这个:

    >>> import re
    >>> list1 = ['1628 04 19 21:10:32', '1752 06 15 20:05:36', '1775 04 18 09:15:56', '1865 04 14 14:54:36', '1876 05 10 15:36:27', '1879 10 22 03:45:15', '2010 09 29 04:46:28']
    >>> [re.sub(r'(\d{4} )0',r'\1 ',x) for x in list1]
    ['1628  4 19 21:10:32', '1752  6 15 20:05:36', '1775  4 18 09:15:56', '1865  4 14 14:54:36', '1876  5 10 15:36:27', '1879 10 22 03:45:15', '2010  9 29 04:46:28']
    

    【讨论】:

    • 你打败了我!
    【解决方案2】:

    另一种解决方法如下:

    list1 = ['1628 04 19 21:10:32', '1752 06 15 20:05:36', '1775 04 18 09:15:56', '1865 04 14 14:54:36', '1876 05 10 15:36:27', '1879 10 22 03:45:15', '2010 09 29 04:46:28']
    list2 = []
    
    for each_item in list1:
        if each_item[5] == '0':
            each_item = each_item[0:5] + ' ' + each_item[6:]
        list2.append(each_item)
    
    print list2
    

    输出:

    ['1628  4 19 21:10:32', '1752  6 15 20:05:36', '1775  4 18 09:15:56', '1865  4 14 14:54:36', '1876  5 10 15:36:27', '1879 10 22 03:45:15', '2010  9 29 04:46:28']
    

    【讨论】:

      猜你喜欢
      • 2021-06-15
      • 2019-05-14
      • 2013-12-03
      • 2017-01-28
      • 2017-03-07
      • 2011-02-21
      • 2021-06-12
      • 2021-12-04
      相关资源
      最近更新 更多