在python中的另一个字符串元素之间更改字符串元素

2024-10-05 10:54:12 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我们有一个这样的字符串

xstr = 'CıCCkCnow CwCho CyCou CaCre but CwChat CaCm CıC'

现在我想把C之间的每个单词转换成大写字母。例如,上面的字符串应该变成

new_xstr = 'I know Who You Are but What Am I.'

什么样的算法最适合这项工作?我想出了一个办法,但似乎很长,效率很低。有什么想法吗

我的算法是取每个C字母的索引。将它们配对为2。获取它们之间的索引值,然后根据这些索引将字符串转换为大写字母。然而,它花费的时间太长了

我想使用某种替换函数,但每个C中的字符串可能不同


Tags: 字符串算法new大写字母单词butknowwho
1条回答
网友
1楼 · 发布于 2024-10-05 10:54:12

您可以捕获被'C'包围的字符,然后替换为.upper

>>> import re
>>> xstr = 'CıCCkCnow CwCho CyCou CaCre but CwChat CaCm CıC'
>>> re.sub('C(\w)C', lambda s: s.group(1).upper(), xstr)
'IKnow Who You Are but What Am I'

如果要捕获多字符序列并将所有字符转换为大写,可以使用.upper

>>> xstr = 'CakClsdaCpoCasdCkC'
>>> re.sub('C(\w+?)C', lambda s: s.group(1).upper(), xstr)
'AKlsdaPOasdK'

相关问题 更多 >

    热门问题