Python 中的字符串操作,用于转换 "caps lock" 旁边的单词的大小写



我想写一个python代码,其中给定了来自用户的字符串

s = "hello, caps lock people of caps lock stackoverflow !"

并且应该返回"hello, PEOPLE of STACKOVERFLOW !"

注意:PEOPLE Aa和STACKOVERFLOW是大写的。

无法想象如何做到这一点。请帮忙!

我们可以尝试使用带有回调函数的re.sub

def to_upper(match):
return match.group(1).upper()
s = "hello, caps lock people of caps lock stackoverflow !"
out = re.sub(r'bcaps lock (S+)', to_upper, s)
print(out)

此打印:

hello, PEOPLE of STACKOVERFLOW !

这里的方法是使用re.sub来查找每次出现的caps lock后面跟着某个单词。然后,这个单词匹配被传递给回调函数to_upper(),然后返回大写版本作为替换。

最新更新