Как удалить   из строки?

при парсинге авито хотел вытащить цену которая лежит в 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 шт):

Автор решения: gil9red

  - это последовательность для 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
→ Ссылка
Автор решения: Namerek
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
→ Ссылка