我正在尝试更改字符串,以便删除*
字符之间的任何内容
例如,字符串[xyz] - * remove this. . * Abcd123
应该变成[xyz] - Abcd123
另一个例子:
abc*def*ghi
应该变成abcghi
这是我的代码,我试图保留任何不是*
的字符,但我认为我写得不对:
str = '[xyz] - * remove this. . * Abcd123'
regex = re.compile('^(\*.*\*)+')
mo = regex.findall(str)
Tags:
签出^{}
根据需要,您可能需要
G
和M
标志如果您多次出现
*....*
,这将解决这个问题。它也将确保不意外地删除太多:例如,如果您有^ {CD5}},那么只考虑连续的^ {< CD6> }来生成对,而不只是看第一个和最后一个^ {CD6}}。p>您可以不使用正则表达式来完成它。试试这个:
.index()->;查找字符串中第一个出现的字符
.rfind()->;查找字符串中最后出现的字符
第一种方法
这个正则表达式是如何工作的?
这个
\*
选择星号'*'
。然后我们使用.*
选择两个星号'*'
中的零个或多个第二种方法
这里我们基本上是在
'*'
上拆分代码,然后删除星号中的部分相关问题 更多 >
编程相关推荐