【问题标题】:How to replace the last 14 number with 0s using regular expressions?如何使用正则表达式将最后 14 个数字替换为 0?
【发布时间】:2019-07-23 08:08:21
【问题描述】:

我正在使用正则表达式显示文件中的数据。我想使用:

ID=02141592cc0000000700000000000000 
ID=02141592cc000000010000000e9489c5 
ID=02141592cc0000000500000000000000 
ID=02141592cc000000010000000e9489c5
ID=02141592cc0000000400000000000000 
ID=02141592cc000000010000000e9489c5

我正在使用这个函数来提取数据:

data = OrderedDict({

    'data': r'\b\s\sID=(\w{32})0*',
   })

def Extract_List_Data_Info_Based_On_Regular_Expression(Log_File):
    # print(re_key)
    for re_key in data.keys():

        print(re_key)
        re_value = data[re_key]
        fsrc = open(Log_File, 'r')
        buff = fsrc.read()
        list_info = re.findall(re_value, buff)
        print(list_info)

我的目标是提取数据,然后用 0 修改最后 14 个数字。我想将修改写入文件中。比如:这个ID=02141592cc000000010000000e9489c5那么我想修改为ID=02141592cc0000000100000000000000

【问题讨论】:

  • @Austin 谢谢你,我在 14 日编辑它。
  • @JackMoody 你能给我更多解释吗?不清楚
  • 我的回答并不完全正确。您可能想使用my_string = my_string[:-14] + “0”*14。这将获取您的原始字符串,切断最后 14 个字符,然后添加 14 个零。

标签: python


【解决方案1】:

这对你有用

s1 = "ID=02141592cc000000010000000e9489c5"
print s1[:-14] + '0'*14

【讨论】:

    【解决方案2】:

    我会写另一个答案,类似于 repace() 的 Amit

    ID = ID.replace(ID[len(ID)-14:], "0"*14)
    

    背后的想法是一样的。你不需要正则表达式来做你想做的事:)

    【讨论】:

      猜你喜欢
      • 2021-07-08
      • 1970-01-01
      • 1970-01-01
      • 2019-11-06
      • 2014-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-02
      相关资源
      最近更新 更多