Удалите ненужные значения - очистка с помощью Beautifulsoup
onclick="try{appendPropertyPosition(this,'B10016735','9176967671, 9176964646, 8939721171','44-22583703','Dealer','manesh');jsb9onUnloadTracking();jsevt.stopBubble(event);}catch(e){};"
Так много onclick
атрибуты на странице HTML.
Из вышесказанного 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, дилер, манеш
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'
>>> 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'