Как удалить из строки?
при парсинге авито хотел вытащить цену которая лежит в class="price-text-_WjC0 но она имеет такой вид
задача отсоединить число которое здесь должно быть 36 790 и знак рубля ₽ при этом стрипнуть все невидимые знаки &_nbsp;
for i in get_all_price:
text_get_all_price = i.text
text_get_all_price_strip = text_get_all_price.strip(' ')
при принте в консоль выходит значения не стрипнутое
на 20 000 видно что есть пробел , а надо что бы цифра выглядела таким образом 20000 что бы в последствии провести проверку isdigit()
Ответы (2 шт):
- это последовательность для XML/HTML, а в коде питона это символ \xa0
Кроме того, str.strip удаляет символы слева и справа, а не внутри. Вам нужно использовать str.replace:
text_get_all_price_strip = text_get_all_price_strip.replace('\xa0', '')
PS.
Возможно, вам имеет смысл вообще удалять все символы кроме цифр, запятой и точки
Пример:
import re
price = '10 \xa0 000₽'
print(price)
price = re.sub(r'[^\d,.]', '', price)
print(price)
Результат:
10 000₽
10000
def clear_string(val: str):
if isinstance(val, str):
from unicodedata import normalize, is_normalized
if not is_normalized('NFKC', val):
return normalize('NFKC', val)
return val
