onclick="try{appendPropertyPosition(this,'B10016735','9176967671, 9176964646, 8939721171','44-22583703','Dealer','manesh');jsb9onUnloadTracking();jsevt.stopBubble(event);}catch(e){};"
像这样,HTML页面中有许多onclick
个属性。
使用此代码从上面的onclick
属性
join(re.findall("'([a-zA-Z0-9,\s]*)'", (a['onclick'] if a else '')))
我正在抓价值:
B10016735,9176967671, 9176964646, 8939721171,44-22583703,Dealer,manesh
但我只想拥有一个电话号码并删除其余三个电话号码,并且应该如下所示
B10016735,9176967671,Dealer,manesh
更新
事实上,HTML页面中的所有行都不会重复以下模式 。很少有行有三个phonenos,很少有两个。有时零电话号码。所以电话号码的数量会有所不同。
B10016735,9176967671,9176964646,8939721171,44-22583703,经销商,manesh
答案 0 :(得分:2)
给出字符串
In [101]: text = 'B10016735,9176967671, 9176964646, 8939721171,44-22583703,Dealer,manesh'
您可以将text
拆分为:
In [102]: items = [item.strip() for item in text.split(',')]
选择前两项,最后两项:
In [103]: items[:2]+items[-2:]
Out[103]: ['B10016735', '9176967671', 'Dealer', 'manesh']
并使用以下内容形成所需的字符串:
In [104]: ','.join(items[:2]+items[-2:])
Out[104]: 'B10016735,9176967671,Dealer,manesh'
答案 1 :(得分:1)
>>> import re
>>> strs = 'B10016735,9176967671, 9176964646, 8939721171,44-22583703,Dealer,manesh'
>>> re.sub(r'([^,]+,[^,]+,)(.*?)([A-Za-z].*)', r'\1\3', strs)
'B10016735,9176967671,Dealer,manesh'