无法从长字符串中踢出不需要的字符

时间:2017-12-23 16:04:56

标签: python string python-3.x replace

如何使用.replace()或任何类型的长文本从长文本中删除不需要的字符。我希望从文本中删除的符号是',',{,},[,](不包括逗号)。我现有的文字是:

{'SearchText':'319 lizzie','ResultList':[{'PropertyQuickRefID':'R016698','PropertyType':'Real'}],'TaxYear':2018}

我尝试使用以下代码:

content='''
{'SearchText':'319 lizzie','ResultList':[{'PropertyQuickRefID':'R016698','PropertyType':'Real'}],'TaxYear':2018}
'''
print(content.replace("'",""))

我得到的输出:[顺便说一句,如果我继续像.replace()。replace()中使用不同的符号然后它可以工作但我希望在单个实例中做同样的事情,如果可能的话]

{SearchText:319 lizzie,ResultList:[{PropertyQuickRefID:R016698,PropertyType:Real}],TaxYear:2018}

我希望我可以使用像.replace("',{,},[,]","")这样的替换功能。但是,我不是在regex派生任何解决方案之后。字符串操作是我所期望的。提前谢谢。

1 个答案:

答案 0 :(得分:4)

content=r"{'SearchText':'319 lizzie','ResultList':[{'PropertyQuickRefID':'R016698','PropertyType':'Real'}],'TaxYear':2018}"

igno = "{}[]''´´``''"
cleaned = ''.join([x for x in content if x not in igno])

print(cleaned)

PyFiddle 3.6:

SearchText:319 lizzie,ResultList:PropertyQuickRefID:R016698,PropertyType:Real,TaxYear:2018

在2.7我收到错误:

  

第3行的main.py文件中的非ASCII字符'\ xc2',但未声明编码;有关详细信息,请参阅http://python.org/dev/peps/pep-0263/

可以通过在源代码中添加# This Python file uses the following encoding: utf-8作为第一行来修复 - 然后提供相同的输出。