2024-04-19 00:49:53 发布
网友
我想在python中使用re模块将数字和字符串分开,但我做不到
re
我尝试了以下代码:
import re t='0.555/0.980/2.563' r=re.search( (".*")+re.escape('/'),t).group() print "first number " ,r
我知道了:
0.555/0.980/
我怎样才能得到第一个和最后一个号码?你知道吗
谢谢
你想用这样的方法:
result = re.match(r'(\d*\.?\d+)/.+/(\d*\.?\d+)', '0.555/0.980/2.563')
然后result.group(1)和result.group(2)会给你想要的。查看这一点的方法是()定义所需的特定组。()中的内容告诉您想要什么样的模式—在本例中,regex被调优为捕获出现在那里的所有十进制数。你知道吗
result.group(1)
result.group(2)
()
但是@zondo是对的:您可以通过result = t.split('/')获得更好的行为。然后result[0]和result[-1]将相应地给出第一次和最后一次拆分。你知道吗
result = t.split('/')
result[0]
result[-1]
只要字符串格式保持不变,就可以使用re.split分割数字。你知道吗
re.split
import re dataString = "0.555/0.980/2.563" numbers = [float(n) for n in re.split("/", dataString, re.DOTALL)] print(numbers)
这将提取数组中的数字
[0.555, 0.98, 2.563]
如果必须分别打印每个数字,只需遍历列表即可。你知道吗
for n in numbers: print(n)
您将得到:
0.555 0.98 2.563
你想用这样的方法:
然后
result.group(1)
和result.group(2)
会给你想要的。查看这一点的方法是()
定义所需的特定组。()
中的内容告诉您想要什么样的模式—在本例中,regex被调优为捕获出现在那里的所有十进制数。你知道吗但是@zondo是对的:您可以通过
result = t.split('/')
获得更好的行为。然后result[0]
和result[-1]
将相应地给出第一次和最后一次拆分。你知道吗只要字符串格式保持不变,就可以使用
re.split
分割数字。你知道吗这将提取数组中的数字
如果必须分别打印每个数字,只需遍历列表即可。你知道吗
您将得到:
相关问题 更多 >
编程相关推荐