【问题标题】:Replace multiple char in a row with one in a Python string将一行中的多个字符替换为 Python 字符串中的一个字符
【发布时间】:2022-01-25 10:08:11
【问题描述】:

假设我有一个字符串a = "a*****cd"。有没有办法将它变成"a*cd" 对于任何数量的“*”而没有多个循环? “*”是唯一需要“压缩”的字符,因此解决方案在这方面不必是通用的。

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: python string replace


【解决方案1】:

我们可以使用正则表达式:

import re
a = "a***********cd"
a = re.sub("\*+", "*", a)  

让我解释一下: re.sub 函数替换正则表达式(第一个参数)的所有匹配:"\*+"(一个或多个星号)在字符串 a(第三个参数)中用“*”(第二个参数)

【讨论】:

    猜你喜欢
    • 2012-07-16
    • 2011-01-11
    • 2021-12-24
    • 1970-01-01
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-01
    相关资源
    最近更新 更多