[英]How can i make my string search correct because it only shows the first hit?
目前我有这个代码
for startLine, endLine in zip(list1, list2):
print(startLine, endLine)
for line in lines[startLine:endLine]:
if 'error ' in line and fail_lines:
line = line.rstrip()
search_results.append(line)
并且被引用的列表是
list1 = [ '1' , '9', '15']
list2 = [ '7' , '12', '22']
例如程序运行时的代码
for line in lines[1:7]
即使我使用了 for 循环 function,字符串搜索也只会获得“error”关键字的第一次命中。 我怎样才能使包含给定范围内的错误字符串的所有行都被附加?
你需要做这样的事情,
lines = [
"error progress while looping",
"connection time out error",
"timed error sem",
"in = error Time"
]
list1 = ['1', '9', '15']
list2 = ['7', '12', '22']
search_results = []
for s_line, e_line in zip(list1, list2):
for line in lines[int(s_line):int(e_line)]:
if line.find("error") >= 0:
line = line.rstrip()
search_results.append(line)
print(search_results)
这给了我一个 output,
['connection time out error', 'timed error sem', 'in = error Time']
['connection time out error', 'timed error sem', 'in = error Time']
['connection time out error', 'timed error sem', 'in = error Time']
确保将提取的s_line
(start_line)
和e_line
(end_line)
转换为int
,然后再将它们作为索引值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.