鱼C论坛

 找回密码
 立即注册
查看: 975|回复: 3

[已解决]下面这种格式的txt数据,怎么把里面的数字提取出来啊,我着急用,help

[复制链接]
发表于 2023-7-5 20:57:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
matlab可真费劲啊
Ek__3->SetBinContent(1,119);
Ek__3->SetBinContent(2,33);
Ek__3->SetBinContent(3,16);
Ek__3->SetBinContent(4,11);
Ek__3->SetBinContent(5,10);
Ek__3->SetBinContent(6,4);
Ek__3->SetBinContent(7,4476);
Ek__3->SetBinContent(8,602);
最佳答案
2023-7-5 20:58:12
import re

def extract_numbers(input_string):
    pattern = r'\((\d+),(\d+)\)'
    matches = re.findall(pattern, input_string)
    numbers = [(int(match[0]), int(match[1])) for match in matches]
    return numbers

input_string = '''
Ek__3->SetBinContent(1,119);
Ek__3->SetBinContent(2,33);
Ek__3->SetBinContent(3,16);
Ek__3->SetBinContent(4,11);
Ek__3->SetBinContent(5,10);
Ek__3->SetBinContent(6,4);
Ek__3->SetBinContent(7,4476);
Ek__3->SetBinContent(8,602);
'''

numbers = extract_numbers(input_string)

for number in numbers:
    print(number)

用这个吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-5 20:57:25 | 显示全部楼层
你可以使用正则表达式来提取文本中的数字。以下是一个示例代码,使用Python中的re模块来提取数字:
pythonimport redata = "matlab可真费劲啊Ek__3->SetBinContent(1,119);Ek__3->SetBinContent(2,33);Ek__3->SetBinContent(3,16);Ek__3->SetBinContent(4,11);Ek__3->SetBinContent(5,10);Ek__3->SetBinContent(6,4);Ek__3->SetBinContent(7,4476);Ek__3->SetBinContent(8,602);复制代码"numbers = re.findall(r"\d+", data)print(numbers)
运行以上代码,会输出提取到的数字列表:
['1', '119', '2', '33', '3', '16', '4', '11', '5', '10', '6', '4', '7', '4476', '8', '602']
在代码中,使用re.findall(r"\d+", data)的正则表达式模式\d+表示匹配一个或多个数字。re.findall()函数会返回所有匹配的数字,并组成一个列表。

希望这能帮到你!如有任何其他问题,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-5 20:58:12 | 显示全部楼层    本楼为最佳答案   
import re

def extract_numbers(input_string):
    pattern = r'\((\d+),(\d+)\)'
    matches = re.findall(pattern, input_string)
    numbers = [(int(match[0]), int(match[1])) for match in matches]
    return numbers

input_string = '''
Ek__3->SetBinContent(1,119);
Ek__3->SetBinContent(2,33);
Ek__3->SetBinContent(3,16);
Ek__3->SetBinContent(4,11);
Ek__3->SetBinContent(5,10);
Ek__3->SetBinContent(6,4);
Ek__3->SetBinContent(7,4476);
Ek__3->SetBinContent(8,602);
'''

numbers = extract_numbers(input_string)

for number in numbers:
    print(number)

用这个吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-5 21:01:18 | 显示全部楼层
陶远航 发表于 2023-7-5 20:57
你可以使用正则表达式来提取文本中的数字。以下是一个示例代码,使用Python中的re模块来提取数字:

感谢感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 08:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表