yyyyyyyynnnnn 发表于 2021-7-21 15:45:56

如何获得关键字在每一行中的位置

“1.txt”文档中文字如下:
12345小甲鱼12345
小甲鱼1234小甲鱼
1234小甲鱼
1234
123小甲鱼123小甲鱼

要如何实现打印出:
“小甲鱼”出现在第1行,第个位置
“小甲鱼”出现在第2行,第个位置
“小甲鱼”出现在第3行,第个位置
“小甲鱼”出现在第5行,第个位置

xiaosi4081 发表于 2021-7-21 15:57:09

给出参考代码,记得自己写一下哦!
f = open("E://4/fishchelp/199379/1.txt","r")
h = 1
for i in f.readlines():
    if "小甲鱼" in i:
      print("小甲鱼出现在{}行里,".format(h),end="")
      res = []
      w = 0
      for j in list(i):
            if j == "小":
                res.append(w)
            w+=1
      print("第",res,"个位置")
    h += 1
f.close()

yyyyyyyynnnnn 发表于 2021-7-21 16:28:42

xiaosi4081 发表于 2021-7-21 15:57
给出参考代码,记得自己写一下哦!

如果文档里存在其他带“小”的词语,但是只想要找“小甲鱼”的,应该怎么修改你

冬雪雪冬 发表于 2021-7-21 17:01:51

f = open("1.txt", encoding = 'utf-8')
kw = '小甲鱼'
for n, each in enumerate(f):
    if kw in each:
      print('小甲鱼”出现在第%s行,'%(n + 1), end = '')
      x = []
      while True:
            x.append(each.find(kw, x[-1] + len(kw) if x else 0))
            if x[-1] == -1:
                break
      print('第%s个位置'%x[:-1])
f.close()
页: [1]
查看完整版本: 如何获得关键字在每一行中的位置