gpt4 book ai didi

python - 反转字符串中标记的子字符串

转载 作者:太空宇宙 更新时间:2023-11-04 06:47:20 25 4
gpt4 key购买 nike

我有一个字符串,其中每个标记的子字符串都在 < 中和 >必须颠倒(括号不嵌套)。例如,

"hello <wolfrevokcats>, how <t uoy era>oday?"

应该变成

 "hello stackoverflow, how are you today?"

我目前的想法是遍历字符串并找到索引对其中 <>是。然后只需将字符串切片并放入切片再次与标记之间的所有内容一起反转。这是正确的方法吗?是否有明显/更好的解决方案?

最佳答案

使用正则表达式非常简单。 re.sub将函数作为匹配对象传递给的参数。

>>> import re
>>> s = 'hello <wolfrevokcats>, how <t uoy era>oday?'
>>> re.sub('<(.*?)>', lambda m: m.group(1)[::-1], s)
'hello stackoverflow, how are you today?'

正则表达式的解释:

<(.*?)>将匹配 < 之间的所有内容和 >在匹配组 1 中。确保正则表达式引擎将在第一个 > 处停止符号出现,惰性量词 *?被使用。

函数lambda m: m.group(1)[::-1]传递给 re.sub获取匹配对象,提取第 1 组,并反转字符串。最后re.sub插入此返回值。

关于python - 反转字符串中标记的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36093266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com