【问题标题】:How to replace part of string with another string?如何用另一个字符串替换部分字符串?
【发布时间】:2022-12-28 19:22:36
【问题描述】:

我有一个字符串列表如下:

generator = ["one#zade#two1", "one#zaat#two2", "one#zach#two3", "one#zanl#two4"]

我正在尝试将两个 #s 之后的字符串替换为 za

预期反应

generator = ["one#za#two1", "one#za#two2", "one#za#two3", "one#za#two4"]

我尝试了以下但它不起作用

import re

generator = ["one#zade#two1", "one#zaat#two2", "one#zach#two3", "one#zanl#two4"]
generator2 = []
for g in generator:
    generator2.append(re.sub(r'one#za[a-zA-z]#', 'one#za#', g))
    
print(generator2)

我在做什么错误?

【问题讨论】:

  • 使用 'one#za[a-zA-z]+#' 所以为任意数量的字母添加 +

标签: python regex


【解决方案1】:

尝试

re.sub(r'#([a-zA-z]*)#', '#za#', g)

【讨论】:

    【解决方案2】:
    import re
    generator = ["one#zade#two1", "one#zaat#two2", "one#zach#two3", "one#zanl#two4"]
    generator2 = []
    for g in generator:
        generator2.append(re.sub('#[^#]*#', '#za#', g))
    print(generator2)
    

    结果 :
    ['one#za#two1', 'one#za#two2', 'one#za#two3', 'one#za#two4']

    【讨论】:

      【解决方案3】:
      def replace_with_za(str) :
        chunks = str.split("#")
        return chunks[0]+"#za#"+chunks[-1]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-10
        • 1970-01-01
        • 2019-09-26
        • 2011-03-25
        • 1970-01-01
        相关资源
        最近更新 更多