用另一个字符串替换lis

2024-04-25 05:20:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图拆分一个字符串,但它应该被替换为另一个字符串并作为列表返回。很难解释,这里有个例子:

变量a中有字符串:

a = "Hello World!"

我想要一份清单:

^{pr2}$

这意味着我要拆分一个字符串,并将另一个字符串写入列表中被拆分的元素。所以如果a

a = "Hello World! Hello Everybody"

我使用a.split("Hello").replace("Hey")这样的输出应该是:

a = ["Hey"," World! ","Hey"," Everybody"]

我怎样才能做到这一点?在


Tags: 字符串元素hello列表worldreplace例子split
3条回答

这个函数可以做到

def replace_split(s, old, new):
    return sum([[blk, new for blk] in s.split(old)], [])[:-1]
x = "HelloWorldHelloYou!" 
y = x.replace("Hello", "\nHey\n").lstrip("\n").split("\n") 
print(y) # ['Hey', 'World', 'Hey', 'You!']

这是一种相当暴力的方法,您可以将\n替换为您不希望在字符串中找到的任何字符(甚至是类似于XXXXX)的任何字符。如果字符串以Hello开头,lstrip将删除{}。在

另外,还有regex:)

从您的示例来看,这听起来很像您希望将所有出现的Hello替换为Hey,然后在空格上拆分。在

您当前所做的不能工作,因为replace需要两个参数,并且它是一个字符串方法,而不是列表方法。当你分开你的字符串,你得到一个列表。在

>>> a = "Hello World!"
>>> a = a.replace("Hello", "Hey")
>>> a
'Hey World!'
>>> a.split(" ")
['Hey', 'World!']

相关问题 更多 >