random string
this is 34 the string 3 that, i need 234
random string
random string
random string
random string
random string
this is 1 the string 34 that, i need 22
random string
random string
random string
random string
random string
this is 35 the string 55 that, i need 12
random string
random string
random string
random string
在一个字符串中有多行。其中一条线重复,但每次都有不同的数字。我想知道如何将数字存储在这些行中。数字将始终位于行中的相同位置,但可以是任意数量的数字。
编辑:随机字符串中也可以包含数字。
答案 0 :(得分:7)
使用正则表达式:
>>> import re
>>> comp_re = re.compile('this is (\d+) the string (\d+) that, i need (\d+)')
>>> s = """random string
this is 34 the string 3 that, i need 234
random string
random string
random string
random string
random string
this is 1 the string 34 that, i need 22
random string
random string
random string
random string
random string
this is 35 the string 55 that, i need 12
random string
random string
random string
random string
"""
>>> comp_re.findall(s)
[('34', '3', '234'), ('1', '34', '22'), ('35', '55', '12')]
答案 1 :(得分:4)
使用正则表达式
import re
s = """random string
this is 34 the string 3 that, i need 234
random string
random string
random string
"""
re.findall('this is (\d+) the string (\d+) that, i need (\d+)', s)
答案 2 :(得分:4)
假设s
是整个多行字符串,您可以使用
my_list = []
for line in s.splitlines():
ints = filter(str.isdigit, line.split())
if ints:
my_list.append(map(int, ints))
这将为您提供列表列表,每行包含一个整数的整数列表。如果您想要一个包含所有数字的列表,请使用
my_list = [int(i) for line in s.splitlines()
for i in filter(str.isdigit, line.split())]