1
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 页面中的所有行重复。很少有行有三个音素,很少有两个。有时电话号码为零。所以电话号码的数量是不同的。

B10016735,9176967671, 9176964646, 8939721171,44-22583703,经销商,manesh

4

2 回答 2

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'
于 2013-09-16T14:02:50.540 回答
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'
于 2013-09-16T14:04:14.330 回答