Python如何在运行时修复语法错误

时间:2019-10-13 18:14:51

标签: python syntax-error

如果我从下面的字符串中收到了一个语法错误的字符串,该字符串以正确的格式存储在noSQL数据库中,那么如何在运行时将其分配给变量并“纠正”语法错误。假设我无法更改它在数据库中的存储方式。

由于这是一个语法错误,我什至不能使用replace或regex之类的字符串函数来删除包含电话号码的多余引号。

string =“ John Doe”(123)456-7890“”

期望的最终结果是它不会引发语法错误并进行编译。 我将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:2)

如果作为代码的一部分执行该字符串分配,则确实会抛出一个SyntaxError,但是从数据库中读取该字符串并不是错误。

在这种情况下,它的作用就像您用单引号将字符串引起来一样:

string = 'John Doe "(123) 456-7890"'

答案 1 :(得分:0)

如果您将内部引号转义为'\'或将字符串括在单引号中,则它可以工作。

string_param = 'John Doe "(123) 456-7890"'.replace('"', '')

如果是多行字符串,则可以使用它-

string_param = """
'John Doe "(123) 456-7890"'.replace('"', '')
""".replace('"', '')