In my previous article, we have seen how to split a delimited long string to multiple strings and store them in a list. Now we will see how to extract numbers from a string. There is no straightforward way in Python to do this. We have to write our own logic to extract the numbers. Here is one of the method I am following.
This method involved segregating the word from the long sentence, then trying to convert the segrigated word to a float, if it threw error, then catch the exception and pass. if successfully converted, then append the float to a list. This method can extract integers, float and negative numbers and convert them to float. Here is a code sample.
# Assogn a long string to a variable some_string = "Some paragraph with 2 to 5 numbers and some float \ and nagetive numbers like -23 or 32.5 to test the split \ option in Python version 3.7" # Logic to get the numbers in a list numbers =  for word in some_string.split(): try: numbers.append(float(word)) except ValueError: pass print(numbers)
[2.0, 5.0, -23.0, 32.5, 3.7]
- More about str.split() method at Python docs.