如何从包含索引位置的列表中的字符串的索引位置打印



我正在尝试创建一个循环,该循环将在字符串中搜索多次出现的特定单词,然后打印随后出现的12个字符。

我使用下面的代码找到了每个重复单词的索引位置。

a = [m.start() for m in re.finditer("username", str(Searchable_String))]
print("index Locations:", a)

这给了我下面列表中的输出。

index Locations: [61, 216, 371, 526, 681, 836]

现在我正在尝试打印列表中每个索引位置的字符串,但无法解决这个问题。

我是python的新手,在这一点上我完全被卡住了。

感谢

for i in a:
print(your_string_var[i:i+12])

工作原理:

string = "my explanation"
>>> print(string[0:2])
my
>>> print(string[0:1])
m
>>> print(string[0:2])
my
>>> print(string[2:])
explanation

在实践中,您可以使用以下模板对字符串进行切片:

string[start:end]

string[start:end:step]:获取从开始到结束的所有字符1折扣每一步字符

因此,如果你在列表中有起始位置,并且你想在每个位置后打印12个字符,你可以循环你的位置列表,使用位置作为切片的开始,位置+12作为切片的结束。

如您所知,您实际创建的是一个python列表,并且列表具有索引

所以你可以写这样的代码:

for index in a:
print(Searchable_String[index:])

它将找到该字符的索引并从该点打印字符串的其余部分。

如果需要,还可以为字符串切片指定一个端点。

术语

Searchable_String[index:]

意思是从索引开始,例如=61,然后打印所有内容。