【问题标题】:Python3: Replace splitted stringPython3:替换拆分的字符串
【发布时间】:2021-12-23 19:19:21
【问题描述】:

这是我的字符串:

VISA1240129006|36283354A|081016860665

我需要替换第一个字符串。

FIXED_REPLACED_STRING|36283354A|081016860665

我的意思是,例如,我需要获取下一个字符串:

有没有什么优雅的方法可以使用 python3 来获取它?

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    你可以这样做:

    >>> l = 'VISA1240129006|36283354A|081016860665'.split('|')
    >>> l[0] = 'FIXED_REPLACED_STRING'
    >>> l
    ['FIXED_REPLACED_STRING', '36283354A', '081016860665']
    >>> '|'.join(l)
    'FIXED_REPLACED_STRING|36283354A|081016860665'
    

    解释:首先,您将一个字符串拆分为一个列表。然后,你改变你想要的职位所需要的东西。最后,您从这样一个修改后的列表中重建字符串。

    如果您需要完全替换所有出现的位置而不考虑它们的位置,请在此处查看其他答案。

    【讨论】:

      【解决方案2】:

      你可以使用.replace()方法:

      l="VISA1240129006|36283354A|081016860665" 
      l=l.replace("VISA1240129006","FIXED_REPLACED_STRING")
      

      【讨论】:

      • 如果您不需要处理“位置”替换(即完全更改管道分隔值中的 n-th 字符串),这会更好。我的意思是,replace 会更改与过滤器匹配的所有匹配项。这取决于 OP 的需求。
      【解决方案3】:

      您可以使用正则表达式库中的 re.sub()。看到你的类似问题。 replace string

      我使用正则表达式的解决方案是:

      import re
      l="VISA1240129006|36283354A|081016860665"
      new_l = re.sub('^(\w+|)',r'FIXED_REPLACED_STRING',l)
      

      它替换“|”之前的第一个字符串人物

      【讨论】:

        猜你喜欢
        • 2021-09-12
        • 2012-03-22
        • 1970-01-01
        • 2021-05-31
        • 2021-12-17
        • 1970-01-01
        • 1970-01-01
        • 2020-11-26
        • 2013-04-26
        相关资源
        最近更新 更多