📅  最后修改于: 2023-12-03 14:54:44.010000             🧑  作者: Mango
在编程中,有时需要从一个字符串或文本中提取出一个数字。这个数字可能是一个整数或浮点数,可能包含在其他字符或文本中。本篇文章将介绍几种提取单个数字的方法。
import re
text = "The price is $23.45."
price = re.search('\d+\.\d+', text).group()
print(price)
输出:23.45
上面的代码使用了正则表达式来匹配一个浮点数,\d+
表示一个或多个数字,\.
表示一个小数点,\d+
表示一个或多个数字。re.search()
方法返回的是一个匹配对象,使用.group()
方法可以将匹配结果转化为字符串。
text = "The price is $23.45."
price = text.split('$')[1]
print(price)
输出:23.45
上面的代码使用了字符串的split()
方法,将文本按照字符$
进行分割,然后取第二个元素作为价格。注意split()
方法的返回结果是一个列表,需要使用索引来获取其中的元素。
text = "The party starts at 7 PM."
time = ''.join(filter(str.isdigit, text))
print(time)
输出:7
上面的代码使用了isdigit()
方法来判断每个字符是否为数字,然后使用filter()
函数将数字过滤出来,最后使用join()
方法将数字列表转换为一个字符串。
以上就是几种提取单个数字的方法,根据实际需求选择适合的方法即可。