我正在尝试创建一个循环,该循环将在字符串中搜索多次出现的特定单词,然后打印随后出现的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,然后打印所有内容。