从文件中删除[]和''的所有实例

时间:2019-05-30 17:02:07

标签: python regex python-3.x

我的文本文件包含以下内容:

Hi, my name is 'James'. What is your [name]

我不会从文本中删除''和[],因此输出如下所示:

Hi, my name is James. What is your name

这是我的代码:

s=  Hi, my name is 'James'. What is your [name]
s=s.replace("[","")
s=s.replace("'","")

但是输出在名称的右边留了一个括号:

Hi, my name is James. What is your name] 

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您忘记替换原始代码中的]。您还可以将replace语句链接在一起

In [2]: s=  "Hi, my name is 'James'. What is your [name]"                                                                                                                              

In [3]: s = s.replace("'",'').replace("[","").replace("]","")                                                                                                                          

In [4]: s                                                                                                                                                                              
Out[4]: 'Hi, my name is James. What is your name'

或者您可以使用正则表达式使用正则表达式[]来剥离'[\[\]\'],当在字符串中找到字符[]'时,它实际上用空字符替换使用re.sub

的字符
import re

s = "Hi, my name is 'James'. What is your [name]"
out = re.sub(r"[\[\]\']", "",s)
print(out)

输出将为

Hi, my name is James. What is your name

答案 1 :(得分:-1)

如果您只是想将其放在控制台或终端中,然后打印(“嗨,我叫詹姆斯。您叫什么名字?”)就可以了 但是,如果您正在寻找一个可以“交谈”并做出回应的人,则可以使用类似“ 输入(“嗨,我叫詹姆斯。你叫什么名字”) 用户可以在此之后输入内容,如果您使用变量,则可以响应用户的响应 例子

name =输入(“您叫什么名字”?) print('嗨'+名称+'你好吗?')

在问号后加上空格将使代码在执行时看起来更好(在我看来)。