用多个循环替换for循环中的一部分字符串 [英] Replacing a part of string in a for loop with a number of loops done
本文介绍了用多个循环替换for循环中的一部分字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何用完成的循环次数更改字符串的特定部分?
How can I change a certain part of a string with the number of loops I have done?
我正在使用Chromedriver(find_element_by_xpath)从网站上抓取数据.我看到当for循环计数超过10时会发生问题.在 count 达到10之前,它已经可以将/tr [1]替换为/tr [2],依此类推,但是一旦出现两位数,事情就会变得复杂起来.
I am scraping data from a website using Chromedriver (find_element_by_xpath). I see the problem occurs when for loop count exceeds 10. Until count reaches 10 it has been able to replace /tr[1] with /tr[2] and so on but as soon as the double digits come along things get complicated.
count = 0
for i in range(0, 21):
count += 1
string[65] = str(count)
string = ''.join(string)
print(string)
string = list(string)
The output is:
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[1]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[2]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[3]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[4]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[5]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[6]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[7]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[8]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[9]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[10]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[110]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[1210]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[13210]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[143210]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[1543210]/td[2]
And what I expect output to be is:
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[1]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[2]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[3]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[4]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[5]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[6]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[7]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[8]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[9]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[10]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[11]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[12]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[13]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[14]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[15]/td[2]
推荐答案
尝试一下:
string = "//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[1]/td[2]"
all_list = [string[:65]+str(i+1)+string[66:] for i in range(0,15)]
print(*all_list, sep='\n')
输出:
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[1]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[2]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[3]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[4]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[5]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[6]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[7]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[8]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[9]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[10]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[11]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[12]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[13]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[14]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[15]/td[2]
这篇关于用多个循环替换for循环中的一部分字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文