Удалить определенные номера Python

Я понимаю, как избавиться от определенного текста, но когда дело доходит до цифр, он сталкивается с другими цифрами в нем.

def get_team_odds(soup):
    for i in soup:
        soup_output = (i.get_text())
        bleach_characters = soup_output.lstrip("Value")
        return(bleach_characters.replace("for",""))

Это дает выход 0,57 10 0.

Мне нужно избавиться от 10 и 0. Однако, если я использую replace или же strip, Это также избавляет от некоторых чисел с 1-го. Так что, если на выходе будет 10,07, это даст мне 0,7, потому что он избавится от всех 10 и 0. Как мне избавиться от определенных чисел на основе позиции или чего-либо еще.

2 ответа

Решение

Вы можете преобразовать вашу строку в список подстрок. Например:

x = '0.57 10 0'

#separate the space delimited string into a list containing substrings
y = x.split(' ')

#you can access an element from your list
print y[0]

#or all of the elements
for i in y:
    print i

Вам нужно работать с логическими сегментами выходной строки, а не с символами как replace делает:

output = ' '.join(x for x in output.split() if x not in ('10', '0'))

Это также нормализует пробелы, поэтому, если это не подходит для вас, нужно что-то более сложное.

Другие вопросы по тегам