我是一个新的编码器,试图弄清楚如何使用find()命令在多行代码中搜索一大块文本,单词或字母。所以如果输入是
我喜欢狗。
我也有一只狗。
然后我打算打印类似的东西:
在第7行的第7行找到了狗
狗在第2行发现第9号
到目前为止我已经
了chunk = input('Enter chunk: ')
for line in data.split("\n"): #data is the block of text to be searched
for word in line.split():
(不知道在此之后该怎么做)我试过
print(word.find(chunk))
但只输出块出现的最后一个字符。
if chunk in i:
print(chunk, 'on line number {} at character {}',x,y)
我知道这是我需要打印的方式,但我不确定如何建立x和y变量。
所有帮助表示感谢,谢谢!
答案 0 :(得分:4)
如果在字符串中找到子字符串,find
将返回其位置。如果不是,则返回-1。以下是使用find
:
for j, line in enumerate(data.splitlines()):
pos = line.find(chunk)
if pos != -1:
print('{0} found on line {1} at character {2}'.format(chunk, j, pos))