Удалить определенные номера 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'))
Это также нормализует пробелы, поэтому, если это не подходит для вас, нужно что-то более сложное.