Python3:替换拆分的字符串

Posted

技术标签:

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

这是我的字符串:

VISA1240129006|36283354A|081016860665

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

FIXED_REPLACED_STRING|36283354A|081016860665

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

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

【问题讨论】:

【参考方案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)

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

【讨论】:

以上是关于Python3:替换拆分的字符串的主要内容,如果未能解决你的问题,请参考以下文章

使用拆分字符串自定义共享按钮中的意图或如何拆分字符串并替换奇数逗号

在 Angular 8 HTML 中拆分和替换字符串

sh shell拆分并替换字符串

Python3基础 str 通过拆分字符串与插入新的内容形成新的字符串

Python3基础 str 通过拆分字符串与插入新的内容形成新的字符串

Python 3.3:拆分字符串并创建所有组合