下面这种格式的txt数据,怎么把里面的数字提取出来啊,我着急用,help
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); 你可以使用正则表达式来提取文本中的数字。以下是一个示例代码,使用Python中的re模块来提取数字:
python
import re
data = "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()函数会返回所有匹配的数字,并组成一个列表。
希望这能帮到你!如有任何其他问题,请随时提问。 import re
def extract_numbers(input_string):
pattern = r'\((\d+),(\d+)\)'
matches = re.findall(pattern, input_string)
numbers = [(int(match), int(match)) 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)
用这个吧 陶远航 发表于 2023-7-5 20:57
你可以使用正则表达式来提取文本中的数字。以下是一个示例代码,使用Python中的re模块来提取数字:
感谢感谢
页:
[1]