打印具有匹配索引的字符串的一部分

2024-05-19 19:18:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图制作一个程序,它接受一个给定的文本,检查文本中哪个索引(“)的位置,并打印引号(”)之间的任何内容,即“xyz”blablablabla“abc”。在这种情况下,将打印0到4之间的xyz和16到20之间的abc。我已经完成了索引部分的工作,但似乎找不到方法来打印这些索引范围内的任何内容。我的代码是:

text = '"bleed" seed "deed"'

index = 0

a = 0

find = int(input("Would you like to find all the links in the file?\n If yes, enter 1:  "))

def Link_Finder(a):

    index = 0

    if find == 1:

        while index < len(text):

            index = text.find('"', index)

            if index == -1:

                break


            print('" found at', index)


            index = index + 2

    return index

Link_Finder(a)

print(text[index:])

我只打印索引供自己参考。我对Python比较陌生,所以我还不太熟悉复杂的东西。在

在我看来,一种方法是返回索引值,然后使用返回的值打印所需的文本。在

谢谢。在


Tags: the方法text文本程序内容indexif
1条回答
网友
1楼 · 发布于 2024-05-19 19:18:24

如果您不介意使用正则表达式,我认为这是一个更简单的解决方案:

import re
print(re.findall(r'"([^"]*)"', text))

如果没有,可以使用link_finder函数:

^{pr2}$

然后成对迭代结果

results = list(link_finder(text))

for start, end in zip(results[::2], results[1::2]):
    print text[start+1:end]

相关问题 更多 >