【发布时间】:2021-04-06 18:43:51
【问题描述】:
my list = [
'<instance id="line-nw8_059:8174:">',
' advanced micro devices inc sunnyvale calif and siemens ag of west germany '
'said they agreed to jointly develop manufacture and market microchips for '
'data communications and telecommunications with an emphasis on the '
'integrated services digital network the integrated services digital '
'network or isdn is an international standard used to transmit voice data '
'graphics and video images over telephone <head>line</head> ',
'<instance id="line-nw7_098:12684:">',
' in your may 21 story about the phone industry billing customers for '
'unconnected calls i was surprised that you did not discuss whether such '
'billing is appropriate a caller who keeps a <head>line</head> open '
'waiting for a connection uses communications switching and transmission '
'equipment just as if a conversation were taking place ',
'<instance id="line-nw8_106:13309:">'
]
我必须用空格替换所有<instance id="line-nw8_106:13309:">(任何变体),并将它们全部添加到自己的列表中。我已经想出了如何使用正则表达式将它们添加到自己的列表中,如下所示:
instanceList =[]
instanceMatch = '<instance id="([^"]*)"'
for i in contentsTestSplit:
matchy = re.match(instanceMatch,i)
if matchy:
instanceMatchy = matchy.group(0)
instanceList.append(instanceMatchy)
print("instance list: ",instanceList)
所以这行得通,但我不知道如何用空格替换所有这些?我已经尝试过这个以及使用替换方法,但它不起作用,任何帮助都会得到帮助:
instanceList =[]
instanceMatch = '<instance id="([^"]*)"'
pat = re.compile(r'<instance id="([^"]*)"')
for i in contentsTestSplit:
matchy = re.match(instanceMatch,i)
if matchy:
instanceMatchy = matchy.group(0)
instanceList.append(instanceMatchy)
i = pat.sub("",i)
print("instance list: ",instanceList)
也尝试过这个:但它不会替换,但会准确定位出现的位置
for i in contentsTestSplit:
if i.startswith("<instance id="):
i.replace(i,"")
【问题讨论】:
-
的任何出现/变化 -
它真的会像那样分成字符串吗?如果是这样,那么你不能简单地做
if i.startswith("<instance"):吗? -
这可以识别它们的位置,但我仍然不知道如何替换它?我试过这个:``` for i in contentsTestSplit: if i.startswith("
-
你可以试试:
for i,line in enumerate(contentsTestSplit:/if line.startswith("<instance"):/contentsTestSplit[i] = ""。在这种情况下,最好将数据复制到包含更改的新列表中,但这应该可行。