gpt4 book ai didi

python - 在 python 字符串替换中使用星号字符 (*) 作为 clown ?

转载 作者:行者123 更新时间:2023-11-28 20:23:17 25 4
gpt4 key购买 nike

我是 python 的初学者,目前正在努力解决一些问题:

我想对单个字符串进行一些更改。是否可以使用单个星号 (*) 作为几个字符的替代 clown ?例如我有一个字符串:

string1 = "The new year is about to become an old year"

我想使用这个模式来查找:

find:
*year*year*

replace it with:
*century*one*

这将导致:

string1 = "The new century is about to become an old one"

意思是“*”字符将替换“year”和“year”之间和之前的所有字符。这可能吗?

最佳答案

您值得花时间研究 regular expressions .在你的情况下,你需要知道的主要事情是 . 匹配任何单个字符, .* 匹配零个或多个任何字符,括号用于分组,和反斜杠后跟数字形成一个反向引用(现有组的)。

因此,要匹配 year,然后是任意内容,然后再次是 year,请使用 year.*year

现在,要替换,请使用分组和反向引用:

import re
string2 = re.sub('year(.*)year', r'century\1one', string1)

对于大多数初学者来说,正则表达式的有效使用绝对不是显而易见的。有关更温和的介绍的一些建议,请参阅此问题:

https://stackoverflow.com/questions/2717856/any-good-and-gentle-python-regexp-tutorials-out-there

关于python - 在 python 字符串替换中使用星号字符 (*) 作为 clown ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20791207/

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