为了账号安全,请及时绑定邮箱和手机立即绑定

如何找到用<tag>…</>指定的字符的字符位置?Python

如何找到用<tag>…</>指定的字符的字符位置?Python

米脂 2021-03-11 10:06:31
我想获得的位置<,并>认为是真实的tag,当它们被嵌入在这样的事情<tag "510270">calculate</>。我有这样的句子:sentence = "After six weeks and seventeen tentative approaches the only serious tender came from Daniel. He had offered a paltry #2 a week for the one-time woodman's home, sane enough in this, at least, to <tag "510270">calculate</> safety to the nearest new penny piece. "sentence2 = "After six weeks and seventeen tentative approaches the only serious tender came from Daniel. He had offered a paltry #2 a week for the one-time woodman's < home, sane enough in this, at least, to <tag "510270">calculate</> safety to the nearest new penny > piece. "sentence3 = "After six weeks and seventeen tentative approaches the only serious tender came from Daniel. He had offered a paltry #2 a week for the one-time woodman's > home, sane enough in this, at least, to <tag "510270">calculate</> safety to the nearest new penny < piece. "我需要的cfrom和incfrom是和第一的位置第2<内的<tag "XXXX">...</>,我需要的CTO和incto是第1第2的位置和>内<tag "XXXX">...</>对于句子2和句子3之类的句子,该句子在哪里出现<或>出现在哪里,我该<tag "XXXX">...</>怎么办?对于句子1,我可以简单地做到这一点:cfrom,cto = 0,0for i,c in enumerate(sentence1):  if c == "<":    cfrom == i  breakfor i,c in enumerate(sentence1.reverse):  if c == ">":    cto == len(sentence)-i  breakincfrom incto = 0,0fromtrigger, totrigger = False, Falsefor i,c in enumerate(sentence1[cfrom:]):  if c == ">":    incfrom = cfrom+i  breakfor i,c in enumerate(sentence1[incfrom:cto]):  if c == "<":    incto = i  break
查看完整描述

3 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

如果我正确理解这一点,则应该可以正常工作(假设您不更改变量i ,c)


cfrom,cto = 0,0

for i,c in enumerate(sentence1):

  if c == "<tag":

    cfrom == i 

  break


for i,c in enumerate(sentence1):

  if c == ">":

    cto == i \\going forward from cfrom

  break


incfrom incto = 0,0

fromtrigger, totrigger = False, False

for i,c in enumerate(sentence1[cto:]):\\after the tag is opened, look for the start of closing tag

  if c == "</":

    incfrom = i

  break

for i,c in enumerate(sentence1[cto:]):

  if c == ">":

    incto = i

  break


查看完整回答
反对 回复 2021-03-30
  • 3 回答
  • 0 关注
  • 148 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号