[英]Get characters after a word in Python
我一直在尝试使用Python数小时,但我不知道该怎么办。 我有一个类似于这样的字符串:
title = "Marielizabeth's Diary Chapter 9"
我想在“ chapter”一词后得到数字,然后在其前面加上0:“ Marielizabeth的日记第09章”。 我无法使用title.replace,因为我不知道会得到什么。 我只知道数字在“章节”后面。
chapter = title.split('Chapter ', 1)
for char in chapter:
print char
但这是行不通的。 我怎样才能做到这一点?
最终解决方案:
title = "Marielizabeth's Diary Chapter 9"
re.sub('Chapter (\d$)', lambda m: "0" + m.group(1), title)
如果您的问题陈述是100%准确的,则有一种非常简单的方法,请使用replace方法,并将“ Chapter”替换为“ Chapter 0”
例如
title = "Marielizabeth's Diary Chapter 9"
title = title.replace("Chapter ", "Chapter 0")
这取决于章节和后续数字之间的单个空格,即与您的问题陈述的确切匹配。
您可以在re.sub()
的repl
参数内传递一个函数:
>>> import re
>>> title = "Marielizabeth's Diary Chapter 9"
>>> re.sub('Chapter (\d)', lambda m: "0" + m.group(1), title)
"Marielizabeth's Diary 09"
这里(\\d)
是与一位数字匹配的捕获组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.