我有一个非常难看的命令,其中我使用了许多附加的“replace()”方法来替换/替换/删除原始字符串中的许多不同字符串。例如:
newString = originalString.replace(' ', '').replace("\n", '').replace('()', '').replace('(Deployed)', '').replace('(BeingAssembled)', '').replace('ilo_', '').replace('ip_', '').replace('_ilop', '').replace('_ip', '').replace('backupnetwork', '').replace('_ilo', '').replace('prod-', '').replace('ilo-','').replace('(EndofLife)', '').replace('lctcvp0033-dup,', '').replace('newx-', '').replace('-ilo', '').replace('-prod', '').replace('na,', '')
如您所见,这是一个非常难看的语句,很难知道long命令中的字符串是什么。这也使得它很难重用。你知道吗
我想做的是定义一个由许多替换对组成的输入数组,其中一个替换对看起来像[<ORIGINAL_SUBSTRING>, <NEW_SUBSTRING>]
;其中较大的数组看起来像:
replacementArray = [
[<ORIGINAL_SUBSTRING>, <NEW_SUBSTRING>],
[<ORIGINAL_SUBSTRING>, <NEW_SUBSTRING>],
[<ORIGINAL_SUBSTRING>, <NEW_SUBSTRING>],
[<ORIGINAL_SUBSTRING>, <NEW_SUBSTRING>]
]
和,我想传递replacementArray,以及需要清理的原始字符串到一个具有如下结构的函数:
def replaceAllSubStrings(originalString, replacementArray):
newString = ''
for each pair in replacementArray:
perform the substitution
return newString
我的问题是:编写函数代码块以应用replacementArray中的每一对的正确方法是什么?我应该使用“replace()”方法吗?“sub()”方法?我对如何将原始代码重组为一个干净的函数感到困惑。你知道吗
提前谢谢你的帮助。你知道吗
你的想法是对的。使用序列解包迭代每对值:
用
re
怎么样?你知道吗您可以在
replaces
中添加任意数量的项。你知道吗相关问题 更多 >
编程相关推荐