[英]Remove every occurance of 'Chapter X' in string in python
我希望删除所有出现的“第 X 章”,其中 X 为 {1,2,3...}。 我的想法是使用 f 字符串,但这只会删除“章节”,而不是数字。 关于如何删除号码的任何帮助? 我需要在不使用正则表达式的情况下执行此操作。
for i in text:
text = text.replace(f'Chapter {i}',"")
如果您已经知道章节数,则可以使用您的技术。 请注意,您的代码片段有一个错误: for i in text
迭代一个字符串,并且i
是一个字符,而不是一个数字。
for i in range(number_of_chapters)[::-1]:
text = text.replace(f'Chapter {i + 1}', "")
为什么这行得通? 首先,您需要了解range
是如何工作的。
range(end)
: range(10)
将返回“列表” [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]range(start, end)
: range(2, 10)
将返回“列表” [2, 3, 4, 5, 6, 7, 8, 9]range(start, end, increment)
: range(2, 10, 3)
将返回“列表” [2, 5, 8] 包括start
,不包括end
。默认start
为 0,默认incremenet
为 1。
我正在使用第一个版本,它从 0 到number_of_chapters
- 1。因为您的章节可能从 1 到number_of_chapters
开始,然后将 + 1 添加到i
。
[::-1]
:它反转了“列表”,因此您将从结尾(第 61 章)到开头(第 1 章)。 这可以防止将“第 60 章”替换为“0”等问题,因为您已经替换了“第 6 章”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.