如何用包含空格的字符串替换列表中的项目?
Posted
技术标签:
【中文标题】如何用包含空格的字符串替换列表中的项目?【英文标题】:How can I replace an item in a list with a string that has a space in it? 【发布时间】:2021-12-12 11:18:35 【问题描述】:我试图简单地用另一个项目替换一个列表项,但新项目中有一个空格。当它替换时,它会在我只想要一个时创建两个列表项。请问如何才能让它只在列表中的一项?
这是一个最小的可重现示例:
import re
cont = "BECMG 2622/2700 32010KT CAVOK"
actual = "BECMG 2622"
sorted_fm_becmg = ['BECMG 262200', '272100']
line_to_print = 'BECMG 262200'
becmg = re.search(r'%s[/]\d\d\d\d' % re.escape(actual), cont).group()
new_becmg = "BECMG " + becmg[-4:] + "00" # i need to make this one list item when it replaces 'line_to_print'
sorted_fm_becmg = (' '.join(sorted_fm_becmg).replace(line_to_print, new_becmg)).split()
print(sorted_fm_becmg)
我需要sorted_fm_becmg
看起来像这样:['BECMG 270000', '272100']
。
我尝试将new_becmg
设为列表项,我尝试删除new_becmg
中字符串中的空格,但我需要列表项中有空格。
这可能很简单,但我无法理解。谢谢。
【问题讨论】:
【参考方案1】:您可以遍历sorted_fm_becmg
来单独替换每个字符串:
sorted_fm_becmg = [b.replace(line_to_print, new_becmg) for b in sorted_fm_becmg]
【讨论】:
以上是关于如何用包含空格的字符串替换列表中的项目?的主要内容,如果未能解决你的问题,请参考以下文章