import re
string='probability is 1'
string2='probability is 1.03'
def FindProb(string):
pattern=re.compile('[0-9]')
result=pattern.search(string)
result=result.span()[0]
prob=string[result:]
return(prob)
print(FindProb(string2))
Хорошо, итак. Здесь используется библиотека регулярных выражений (также известная как Regex или re)
Она в основном устанавливает шаблон, а затем ищет его в строке. Эта функция принимает строку и находит первое число в строке, затем возвращает переменную prob, которая будет строкой от первого числа до конца.
Если вам нужно найти вероятность несколько раз, тогда это может сделать это:
import re
string='probability is 1'
string2='probability is 1.03 blah blah bllah probablity is 0.2 ugggggggggggggggg probablity is 1.0'
def FindProb(string):
amount=string.count('.')
prob=0
for i in range(amount):
pattern=re.compile('[0-9]+[.][0-9]+')
result=pattern.search(string)
start=result.span()[0]
end=result.span()[1]
prob+=float(string[start:end])
string=string[end:]
return(prob)
print(FindProb(string2))
Предостережение заключается в том, что все должно иметь точку, поэтому 1 должно быть 1.0, но это не должно быть большой проблемой. Если да, дайте мне знать, и я постараюсь найти способ