将正则表达式空白字符从列表转换为字符串

2024-04-24 09:34:47 发布

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

例如,我想把regex空格转换成一个字符串

list1 = ["Hello","\s","my","\s","name","\s","is"]

我想把它转换成一个字符串

"Hello my name is" 

有人能帮忙吗。 但如果有这样的人物 “\t” 我该怎么做?你知道吗


Tags: 字符串namehelloismyregex空格人物
3条回答
list = ["Hello","\s","my","\s","name","\s","is"]
str1 = ''.join(list).replace("\s"," ")

输出:

>>> str1
'Hello my name is'

更新:

如果您有这样的list1 = ["Hello","\s","my","\s","name","\t","is"],那么您可以使用multiple replace

>>> str1 = ''.join(list).replace("\s"," ").replace("\t"," ")
>>> str1
'Hello my name is'

或者只是\t

str1 = ''.join(list).replace("\t","anystring")

你甚至不需要正则表达式:

s = ' '.join([item for item in list if item is not '\s'])

请注意,list是python中变量的无效名称,因为它与list函数冲突。你知道吗

我强烈建议使用前面的一个答案中提到的连接字符串函数,因为它没有那么冗长。但是,如果您确实需要使用regex来完成任务,下面是答案:

import re

list1 = ["Hello","\s","my","\s","name","\s","is"]
list_str = ''.join(list1)

updated_str = re.split('\\\s', list_str)
updated_str = ' '.join(updated_str)

print(updated_str)

输出为:

'Hello my name is'

要使用原始字符串表示法,请将第5行代码替换为以下代码:

updated_str = re.split(r'\\s', list_str)

两者的输出结果相同。你知道吗

相关问题 更多 >