繁体   English   中英

用Python在单词之后获取字符

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM