我想在Python中替换regex,其中替换是标记后缀的函数
假设我有一个文本(或XML),我可以在其中定义自己要替换的标记。以下是文本示例:
<del:DeliveryFormat>A</del:
<del:ReadingStartDate>%%%NOW@0@%Y-%m-%dT%H:%M:%SZ%%%</del:ReadingStartDate>
<del:SpSla />
<del:RecordPosition>1</del:RecordPosition>
<del:Values>
<del:Value position="1" registrationDate="2019-02-01T05:09:11.000+00:00" requestedReadingDate="%%%NOW@-1@%Y-%m-%dT%H:%M:%SZ%%%" reading="126.0" status="10" meterReadingId="677947381" />
</del:Values>
请注意:我可以自由选择标签格式,我只选择了“%%”
请注意这两个(实际上更多)不同的标签:
"%%%NOW@0@%Y-%m-%dT%H:%M:%SZ%%%"
我想用现在减去0天的日期替换它,并使其成为Y-%m-%dT%H:%M:%SZ
格式
"%%%NOW@-1@%Y-%m-%dT%H:%M:%SZ%%%"
我想用现在减去1天的日期替换它,并使其成为Y-%m-%dT%H:%M:%SZ
格式
格式可能每次都不同,所以它必须来自标签本身
对于此操作,只有标记公共部分(%%%现在)和结束部分(%%%)的开始。标签的后缀应该是灵活的,我想有逻辑(函数)来定义如何替换它的基础上,后缀
我没有任何代码可以显示-当然,我已经很容易地创建了如何用特定格式的date-time替换%%%NOW%%%
。但如何使替换值和格式成为标签后缀的函数-我不知道:(
当然,我可以通过循环/替换多个搜索来解决这个问题,比如%%%NOW@0@%Y-%m-%dT%H:%M:%SZ, %%%NOW@-1@%Y-%m-%dT%H:%M:%SZ, %%%NOW@-2@%Y-%m-%dT%H:%M:%SZ,
等等。。。包括不同格式的字符串。但这能用智慧之美来实现吗
我是这样解决的:
其中“add\u step\u to\u time”是我的代码中已经存在的函数
相关问题 更多 >
编程相关推荐